You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ch...@apache.org on 2018/12/18 15:31:43 UTC
[4/6] ignite git commit: IGNITE-10289: [ML] Import models from XGBoost
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/examples/src/main/resources/datasets/agaricus-test-expected-results.txt
----------------------------------------------------------------------
diff --git a/examples/src/main/resources/datasets/agaricus-test-expected-results.txt b/examples/src/main/resources/datasets/agaricus-test-expected-results.txt
new file mode 100644
index 0000000..b6947fd
--- /dev/null
+++ b/examples/src/main/resources/datasets/agaricus-test-expected-results.txt
@@ -0,0 +1,1611 @@
+0.00025412877
+0.99888784
+0.00025412877
+0.00020371929
+0.0016852723
+0.004336959
+0.99888605
+0.00025412877
+0.99888784
+0.0007407177
+0.99888784
+0.00048179296
+6.019019e-06
+0.00025412877
+7.060129e-06
+0.0003617697
+0.00047204422
+0.99879885
+0.0012118616
+0.00040873847
+0.00047204422
+0.0003617697
+0.00025412877
+0.0004505964
+0.00031991434
+0.9996768
+0.004901804
+0.00052038184
+0.0004505964
+6.019019e-06
+0.00020371929
+0.00052038184
+0.00065504765
+0.0011316377
+0.0002305175
+0.00047204422
+0.004901804
+0.9993381
+0.0002305175
+0.00047204422
+0.0011316377
+0.00020371929
+0.00019959644
+0.0002305175
+0.0002305175
+0.0021919373
+0.0008000284
+0.0051317057
+0.0012118616
+0.00052038184
+0.0003617697
+0.00019959644
+0.99951875
+0.00040873847
+0.00022004127
+0.00039074913
+0.00020371929
+0.00019959644
+0.00040873847
+0.00052038184
+0.0014905198
+7.905719e-06
+0.9994962
+7.905719e-06
+0.99888784
+0.0004505964
+0.9994567
+0.00052038184
+0.00019959644
+0.0004370383
+0.00065504765
+0.0023671745
+0.00019959644
+7.060129e-06
+0.0011316377
+0.00025412877
+0.00065504765
+5.322418e-06
+0.00037842535
+6.243038e-06
+0.0008000284
+0.0013067605
+0.00040873847
+0.0017210845
+0.00025412877
+0.00022004127
+0.9993862
+0.99888784
+0.00019959644
+0.0003455418
+0.0007407177
+0.0002305175
+0.00022004127
+0.0007075034
+0.00019959644
+0.0002305175
+0.0004370383
+0.0004505964
+0.0016852723
+0.0011316377
+0.0002352789
+0.0057994546
+0.0008000284
+0.0031079606
+0.00065504765
+0.00039074913
+0.00018479073
+0.00040873847
+0.0004370383
+0.0023447894
+0.0010494431
+0.0003617697
+0.00052038184
+0.00022004127
+7.060129e-06
+0.9989686
+0.00025412877
+0.0027754887
+0.0012795585
+0.0025701027
+0.00037842535
+0.00040873847
+0.00031991434
+0.0004505964
+0.0015961447
+0.0015961447
+0.00037842535
+5.322418e-06
+0.00025412877
+0.0007407177
+0.00040873847
+0.0002305175
+0.00039074913
+0.0011866327
+0.0016852723
+0.0011866327
+0.00047204422
+0.00022004127
+0.0015629282
+0.99941325
+0.00052038184
+0.00052038184
+7.6220385e-06
+0.00018479073
+0.0007075034
+0.00040873847
+5.322418e-06
+0.00018479073
+0.9993862
+0.00039074913
+0.0057447995
+0.0007075034
+0.0043782797
+0.00047204422
+0.0002305175
+0.004336959
+0.0003455418
+0.0017210845
+0.00048179296
+0.00037842535
+0.99965084
+0.9989686
+0.00019959644
+0.00031991434
+0.00020371929
+0.0043782797
+0.9994567
+0.00040873847
+0.00041718033
+0.002676164
+0.0028780429
+0.0003455418
+0.005320857
+0.99879885
+0.0008000284
+0.0057994546
+0.9996768
+0.0004505964
+0.0011866327
+0.00019959644
+0.00020587152
+0.0004505964
+0.005083311
+3.2162723e-05
+0.0003455418
+0.00040873847
+6.7399155e-06
+0.00047204422
+0.999337
+5.322418e-06
+8.940421e-06
+0.99893767
+0.99888605
+7.6220385e-06
+0.99965084
+0.0031376088
+7.060129e-06
+7.905719e-06
+6.243038e-06
+0.00022004127
+4.237742e-05
+0.99965084
+6.7399155e-06
+5.322418e-06
+7.060129e-06
+8.940421e-06
+0.00052038184
+0.0053715007
+0.00019060042
+0.00031991434
+0.00041718033
+6.7399155e-06
+4.237742e-05
+0.0007075034
+0.00047204422
+6.019019e-06
+0.00041718033
+0.0017210845
+7.905719e-06
+0.9989686
+6.019019e-06
+0.9994567
+7.060129e-06
+7.6220385e-06
+8.940421e-06
+7.060129e-06
+5.322418e-06
+0.9994147
+0.0004505964
+8.940421e-06
+7.905719e-06
+8.940421e-06
+0.00015625419
+0.0014905198
+5.322418e-06
+0.0007075034
+7.6220385e-06
+5.322418e-06
+0.9997003
+0.00020371929
+7.060129e-06
+5.322418e-06
+8.940421e-06
+8.940421e-06
+6.243038e-06
+4.325291e-05
+0.99901485
+8.940421e-06
+0.9994137
+7.6220385e-06
+3.5457782e-05
+0.00015625419
+3.5457782e-05
+6.7399155e-06
+5.322418e-06
+8.940421e-06
+4.237742e-05
+7.060129e-06
+0.00020587152
+0.9997141
+0.00015625419
+4.237742e-05
+0.00047204422
+0.9993862
+8.940421e-06
+0.9997141
+3.2162723e-05
+6.243038e-06
+8.940421e-06
+7.6220385e-06
+6.019019e-06
+7.6220385e-06
+6.243038e-06
+0.9997141
+7.060129e-06
+5.322418e-06
+3.923348e-05
+7.905719e-06
+5.322418e-06
+7.905719e-06
+0.9990878
+0.00039074913
+5.322418e-06
+6.243038e-06
+0.00052038184
+7.6220385e-06
+8.940421e-06
+7.905719e-06
+7.060129e-06
+6.243038e-06
+8.940421e-06
+6.019019e-06
+0.99955446
+7.6220385e-06
+6.243038e-06
+0.9994567
+6.243038e-06
+5.322418e-06
+0.9994572
+7.060129e-06
+7.060129e-06
+5.322418e-06
+0.99955446
+6.243038e-06
+7.905719e-06
+7.060129e-06
+7.060129e-06
+0.99955446
+0.00020587152
+6.7399155e-06
+7.6220385e-06
+7.905719e-06
+8.940421e-06
+7.060129e-06
+3.2162723e-05
+0.9994572
+0.99973494
+6.019019e-06
+0.00015625419
+7.6220385e-06
+5.322418e-06
+6.7399155e-06
+6.019019e-06
+5.322418e-06
+0.00022004127
+7.6220385e-06
+3.923348e-05
+6.019019e-06
+7.905719e-06
+0.00014466306
+8.940421e-06
+5.322418e-06
+0.0007075034
+8.940421e-06
+6.019019e-06
+7.6220385e-06
+5.322418e-06
+7.905719e-06
+4.237742e-05
+6.243038e-06
+4.237742e-05
+0.0010494431
+8.940421e-06
+0.0002305175
+7.905719e-06
+0.9994147
+8.940421e-06
+0.9995196
+0.00025665603
+3.2162723e-05
+6.243038e-06
+0.00022004127
+7.6220385e-06
+0.00020587152
+0.00017226019
+3.282719e-05
+0.00014466306
+6.019019e-06
+0.9990878
+0.0001594819
+6.7399155e-06
+0.00014466306
+0.9993678
+3.6372072e-05
+7.060129e-06
+7.060129e-06
+3.2162723e-05
+3.2162723e-05
+0.00023281
+6.7399155e-06
+7.6220385e-06
+4.792357e-05
+6.7399155e-06
+5.322418e-06
+0.00022695896
+0.00022695896
+0.99948114
+8.940421e-06
+7.060129e-06
+0.0001594819
+7.905719e-06
+0.9994147
+4.237742e-05
+3.2162723e-05
+7.6220385e-06
+0.00017670133
+7.060129e-06
+6.019019e-06
+6.019019e-06
+6.7399155e-06
+0.99973494
+6.243038e-06
+0.00017226019
+0.00020587152
+6.019019e-06
+4.671893e-05
+3.2162723e-05
+6.243038e-06
+0.00020587152
+4.792357e-05
+6.7399155e-06
+6.7399155e-06
+5.322418e-06
+0.00015625419
+0.00020587152
+2.9776578e-05
+4.237742e-05
+0.9993381
+3.7123496e-05
+0.0001594819
+0.00019060042
+0.00020587152
+0.00023761873
+0.99973494
+0.00017226019
+3.5457782e-05
+0.00020587152
+0.00017670133
+3.2162723e-05
+3.2162723e-05
+3.6372072e-05
+4.237742e-05
+0.00017226019
+0.00015625419
+0.00022695896
+0.00023281
+0.00021012398
+4.792357e-05
+4.237742e-05
+0.00019060042
+4.891363e-05
+3.5457782e-05
+0.00023281
+4.671893e-05
+0.00017670133
+0.00014466306
+0.00017226019
+0.00020587152
+0.00020587152
+0.00017226019
+6.7399155e-06
+3.2162723e-05
+3.5457782e-05
+3.923348e-05
+4.325291e-05
+4.237742e-05
+0.99824166
+0.00017226019
+3.2162723e-05
+0.00017226019
+2.9776578e-05
+0.00022695896
+4.671893e-05
+0.00017226019
+0.00022695896
+4.325291e-05
+0.00019480144
+3.5457782e-05
+3.5457782e-05
+4.325291e-05
+0.99901485
+3.5457782e-05
+0.00020587152
+3.923348e-05
+5.322418e-06
+4.792357e-05
+0.9993381
+0.00017670133
+0.00020587152
+0.00023761873
+3.282719e-05
+0.00020587152
+0.00016359365
+4.671893e-05
+3.2162723e-05
+0.00020587152
+3.6372072e-05
+5.322418e-06
+0.00019060042
+0.00020587152
+4.671893e-05
+0.99955446
+6.7399155e-06
+0.00020587152
+0.9990164
+0.00015625419
+6.7399155e-06
+0.00019060042
+0.00019060042
+0.0001594819
+0.9987974
+0.00020587152
+4.671893e-05
+4.671893e-05
+0.99995637
+0.00020587152
+0.00015625419
+0.00017226019
+2.9776578e-05
+3.923348e-05
+0.00017226019
+0.0001594819
+0.00017226019
+0.00023281
+3.923348e-05
+3.282719e-05
+0.00022695896
+4.671893e-05
+0.00017226019
+0.00017670133
+4.792357e-05
+0.00015625419
+0.00018035136
+4.325291e-05
+3.5457782e-05
+3.2162723e-05
+0.00017226019
+0.00016359365
+0.00018035136
+0.00015625419
+0.00022695896
+0.00017226019
+3.2162723e-05
+4.792357e-05
+0.00019060042
+3.5457782e-05
+0.00022695896
+2.9776578e-05
+0.00015625419
+0.00020587152
+3.6372072e-05
+0.00020587152
+4.792357e-05
+3.5457782e-05
+4.4368186e-05
+6.019019e-06
+4.325291e-05
+4.792357e-05
+0.0001594819
+0.00020587152
+0.00015625419
+3.3673645e-05
+4.671893e-05
+0.00022695896
+3.2162723e-05
+0.00017226019
+7.905719e-06
+3.5457782e-05
+0.9998155
+3.5457782e-05
+0.00017226019
+0.00015625419
+4.792357e-05
+8.940421e-06
+4.4368186e-05
+0.00017670133
+0.00015625419
+0.00020587152
+3.5457782e-05
+0.00021012398
+4.792357e-05
+3.2162723e-05
+4.671893e-05
+4.237742e-05
+4.671893e-05
+0.9979381
+0.00023281
+0.00025665603
+4.237742e-05
+4.671893e-05
+0.00021012398
+3.2162723e-05
+4.671893e-05
+3.5457782e-05
+4.671893e-05
+3.5457782e-05
+3.2162723e-05
+4.671893e-05
+0.00022695896
+3.5457782e-05
+3.6372072e-05
+0.00020587152
+0.00021012398
+0.9999701
+4.009836e-05
+0.00017670133
+5.2833246e-05
+0.00016359365
+0.00021554108
+0.00021554108
+3.7123496e-05
+0.9979381
+4.792357e-05
+4.009836e-05
+0.9996495
+0.00019480144
+0.9999324
+0.9999671
+5.2833246e-05
+0.9999671
+0.9999671
+0.9999013
+0.00017670133
+0.99897456
+0.00023281
+4.891363e-05
+5.2833246e-05
+0.9998155
+0.9996221
+0.00022695896
+0.00016359365
+5.2833246e-05
+5.2833246e-05
+0.9996495
+0.00017670133
+4.792357e-05
+4.009836e-05
+3.6372072e-05
+0.9999671
+0.00017226019
+0.00025665603
+0.9998288
+4.009836e-05
+0.9999255
+3.7123496e-05
+0.00023761873
+4.891363e-05
+0.00015625419
+0.9999255
+0.00019060042
+0.9979381
+0.00019480144
+0.9999671
+3.3673645e-05
+0.9999671
+4.671893e-05
+0.00019480144
+0.99995637
+5.2833246e-05
+0.00023761873
+4.237742e-05
+5.2833246e-05
+3.7123496e-05
+0.00023281
+0.9998155
+0.00018035136
+0.9987974
+0.00023761873
+0.00020587152
+0.9998155
+3.6372072e-05
+0.9998288
+5.2833246e-05
+4.325291e-05
+4.009836e-05
+5.2833246e-05
+0.99824166
+4.009836e-05
+4.891363e-05
+0.99994016
+0.9979381
+0.9979381
+0.00015625419
+5.2833246e-05
+0.9999255
+0.9979381
+4.792357e-05
+0.99897456
+0.00020587152
+5.2833246e-05
+0.9999671
+0.00022695896
+0.00025665603
+0.9987974
+5.2833246e-05
+4.792357e-05
+4.009836e-05
+4.891363e-05
+0.9996221
+0.00025665603
+5.2833246e-05
+0.00025665603
+0.99897456
+5.2833246e-05
+0.99897456
+0.00023281
+0.9996495
+0.00025665603
+0.00023281
+0.9999671
+0.00019480144
+0.9999255
+0.00017670133
+0.00023281
+0.00018035136
+4.237742e-05
+0.00025665603
+4.891363e-05
+0.00018035136
+5.2833246e-05
+0.9999671
+5.2833246e-05
+0.9999671
+0.00019480144
+4.009836e-05
+0.9999255
+0.00025665603
+0.9987974
+0.00025665603
+0.00018035136
+0.00017670133
+3.7123496e-05
+0.9996495
+4.009836e-05
+0.00021554108
+0.00019060042
+0.99995637
+0.9999709
+0.00019480144
+3.7123496e-05
+4.009836e-05
+3.5457782e-05
+0.9999709
+0.00019480144
+0.00019480144
+0.9999671
+0.9996221
+0.00023281
+0.00017670133
+0.00023281
+3.7123496e-05
+4.237742e-05
+4.009836e-05
+0.00018035136
+0.99995637
+0.00019480144
+0.00017226019
+4.009836e-05
+3.7123496e-05
+3.7123496e-05
+5.2833246e-05
+0.00025665603
+4.792357e-05
+0.9996221
+0.9999255
+0.99897456
+0.00021554108
+3.5457782e-05
+5.2833246e-05
+4.009836e-05
+0.00023281
+3.6372072e-05
+5.2833246e-05
+4.891363e-05
+3.2162723e-05
+3.5457782e-05
+0.99995637
+0.99995637
+0.9996221
+0.99897456
+5.2833246e-05
+0.9998288
+4.009836e-05
+0.99995637
+0.00021554108
+0.99994016
+0.9999105
+5.2833246e-05
+3.923348e-05
+0.99996495
+0.00023281
+0.9999701
+0.9999671
+0.00019480144
+0.9999341
+0.9999341
+0.9987974
+0.9999709
+0.9999255
+0.00016359365
+0.9998617
+0.9999701
+0.9999341
+0.9999701
+0.9999709
+0.9999701
+0.9999324
+0.9979381
+0.9999709
+0.9999324
+0.9999671
+0.9999013
+4.009836e-05
+0.9998288
+0.9979381
+0.9999709
+0.00025665603
+0.99824166
+3.6372072e-05
+5.2833246e-05
+0.9999341
+0.9999701
+0.9999709
+0.9999709
+0.00015625419
+0.99995637
+0.9999614
+3.6372072e-05
+0.00019480144
+0.9999255
+0.9999709
+0.9999709
+0.9999701
+0.99994016
+0.99997354
+0.00023761873
+0.99995637
+0.99996495
+0.9999324
+0.00017670133
+0.00019480144
+0.00017670133
+0.009167032
+0.9999341
+5.2833246e-05
+0.9999126
+4.009836e-05
+0.9999604
+0.9999341
+0.9999341
+0.9999126
+0.9999709
+0.9999341
+0.9999126
+0.00019480144
+0.9999671
+0.9999671
+0.9999324
+0.9999126
+0.9999709
+0.9999604
+0.9999341
+0.99996495
+0.99994016
+0.9999255
+0.9999604
+0.9999341
+0.9999255
+0.9999341
+0.99997354
+0.9999701
+0.9999324
+0.9999207
+0.99997354
+0.99994016
+0.9999126
+0.9999324
+0.9999709
+0.9999207
+0.99994016
+0.00037019775
+0.9999207
+0.99996495
+0.99997354
+0.9999671
+0.9999207
+0.99996495
+0.0013293574
+0.99994016
+0.9999324
+0.99996495
+0.9999604
+0.9999105
+0.9999701
+0.9999324
+0.9999701
+0.9999341
+0.9999324
+0.99997354
+0.9999126
+0.99997354
+0.9999207
+0.9999207
+0.9999341
+0.99995637
+0.9999709
+0.9999701
+0.99997354
+0.99997354
+0.99997354
+0.9999604
+0.9999709
+0.9999255
+0.9999341
+0.9999126
+0.9999105
+0.9999701
+0.0008625914
+0.99997354
+0.99997354
+0.99995637
+0.9999341
+0.9999255
+0.9999341
+0.9999324
+0.99994016
+0.9999013
+0.9999207
+0.9999709
+0.9999701
+0.9999324
+0.9992411
+0.99997354
+0.9999013
+0.9999324
+0.9999324
+0.9999701
+0.9999341
+0.9999324
+0.9999105
+0.9999701
+0.9999709
+0.9999207
+0.9999709
+0.9999126
+0.99994016
+0.99982506
+0.9999341
+0.00046149982
+0.9999639
+0.99996495
+0.99996495
+0.9996221
+0.9999255
+0.99997354
+0.99996495
+0.9999255
+0.9999105
+0.00078249123
+0.9999604
+0.99994016
+0.9999709
+0.00025665603
+0.99994016
+0.99489474
+0.9998155
+0.9999255
+0.9999324
+0.9999614
+0.9999701
+0.9999671
+0.9999324
+0.9999671
+0.00039583017
+0.9999614
+0.9999709
+0.9999614
+0.9999709
+0.9999701
+0.9999701
+0.9999341
+0.9999207
+0.9999341
+0.9999709
+0.00039583017
+0.9999207
+0.9999701
+0.99995637
+0.99982506
+0.9996221
+0.9999207
+0.9999671
+0.9999341
+0.9999126
+0.9999255
+0.9999324
+0.9999255
+0.99985075
+0.9999614
+0.0009514644
+0.99994016
+0.9999671
+0.9992411
+0.009360342
+0.9999105
+0.9999207
+0.99994016
+0.0004272755
+0.9998312
+0.99980205
+0.99982506
+0.99980205
+0.0007991346
+0.9999255
+0.0004272755
+0.9999324
+0.0006919931
+0.00078249123
+0.9999207
+0.9990392
+0.0012328194
+0.0007991346
+0.9990392
+0.9999614
+0.99997354
+0.9999299
+0.98975986
+0.00088093686
+0.00088093686
+0.99998844
+0.00043636683
+0.0006919931
+0.99996495
+0.009360342
+0.9971035
+0.99997354
+0.9999701
+0.99980205
+0.99489474
+0.99927515
+0.9943492
+0.9991503
+0.99927515
+0.9998617
+0.9999341
+0.9990822
+0.9991503
+0.00084514386
+0.0007474052
+0.9991503
+0.004096335
+0.9999671
+0.99527174
+0.9999639
+0.9990392
+0.9997862
+0.99996495
+0.99051267
+0.013955284
+0.008114705
+0.9890587
+0.00076283637
+0.00093165156
+0.008114705
+0.00039583017
+0.99994016
+0.99527174
+0.00078249123
+0.99918026
+0.9999832
+0.99998736
+0.00040811044
+0.99927515
+0.99932885
+0.99997354
+0.9999639
+0.00047131904
+0.9999701
+0.9998312
+0.00086311874
+0.9991503
+0.99051243
+0.98975986
+0.9990392
+0.9992411
+0.99980205
+0.9998617
+0.001503084
+0.0047280774
+0.999936
+0.99997354
+0.0008239167
+0.98955053
+0.99980205
+0.00040811044
+0.9999832
+0.9990392
+0.0006919931
+0.99998736
+0.9999832
+0.99998736
+0.008151155
+0.98955053
+0.9999341
+0.9999013
+0.99998736
+0.9999639
+0.99997354
+0.99980205
+0.9998617
+0.0009514644
+0.9998617
+0.99997354
+0.99998736
+0.99918026
+0.00040811044
+0.99982506
+0.9998437
+0.9943492
+0.9991503
+0.00046149982
+0.9990392
+0.009360342
+0.016082935
+0.99998736
+0.9999299
+0.9998312
+0.00093165156
+0.0003778439
+0.9991503
+0.9999639
+0.9991503
+0.009167032
+0.0007474052
+0.9990822
+0.0007991346
+0.99918026
+0.99478984
+0.98955053
+0.99982506
+0.001503084
+0.99998736
+0.0011414601
+0.9967257
+0.99997354
+0.99998736
+0.99998736
+0.99997354
+0.9998617
+0.99051243
+0.9999832
+0.0013293574
+0.0011414601
+0.9999207
+0.0013939476
+0.00039583017
+0.98955053
+0.99478984
+0.99985075
+0.9991503
+0.99998736
+0.98955053
+0.9992411
+0.00034274196
+0.99994016
+0.999811
+0.99478984
+0.99437463
+0.99998844
+0.9998312
+0.00093165156
+0.98975986
+0.001503084
+0.99997354
+0.9999324
+0.99998736
+0.9999614
+0.9990392
+0.0013293574
+0.00086311874
+0.99996495
+0.9999207
+0.9991503
+0.9999126
+0.99527174
+0.0013293574
+0.99994016
+0.999936
+0.99996805
+0.9999708
+0.9999877
+0.9999832
+0.99996364
+0.9999888
+0.99998605
+0.99998367
+0.9999877
+0.99996483
+0.9999888
+0.9999678
+0.9999852
+0.999967
+0.9999434
+0.9999678
+0.99996483
+0.99998605
+0.9999708
+0.99996483
+0.9999639
+0.9999888
+0.99998736
+0.99998724
+0.9999678
+0.99996364
+0.9999815
+0.99996483
+0.999938
+0.99996805
+0.9999851
+0.9999331
+0.99992275
+0.999938
+0.9999602
+0.99998605
+0.99998975
+0.9999678
+0.99996483
+0.9999877
+0.9999639
+0.9999888
+0.99998605
+0.99998975
+0.99998605
+0.9999685
+0.9999815
+0.9999864
+0.9999864
+0.9999888
+0.9999888
+0.99996483
+0.99998605
+0.99992275
+0.99998736
+0.99998724
+0.9999864
+0.999967
+0.99998605
+0.99998903
+0.99998724
+0.99996364
+0.9999708
+0.9999888
+0.9999708
+0.999984
+0.9999708
+0.9999602
+0.99996805
+0.99998605
+0.99998844
+0.9999888
+0.9999877
+0.99998605
+0.99998724
+0.9999851
+0.99993765
+0.9999851
+0.99998903
+0.999967
+6.9338246e-05
+0.9999831
+0.9999877
+0.99996483
+0.99996483
+1.618272e-05
+0.9999815
+0.9999639
+0.9999708
+0.999967
+0.99998474
+0.9999877
+0.99996805
+0.9999434
+0.99998724
+0.9999602
+0.9999888
+0.9999708
+0.9999851
+0.99996805
+0.99998367
+0.9999877
+0.99998367
+0.9999434
+0.9999708
+0.99996483
+0.99998605
+0.99992275
+0.9999434
+0.9999685
+5.9588056e-05
+0.999938
+0.9999815
+0.999967
+0.9999678
+0.99996483
+0.99996877
+0.9999852
+0.9999602
+0.99998903
+0.99992275
+0.9999714
+0.99992275
+0.99998546
+0.9999317
+0.99996483
+0.9999317
+0.99998367
+0.9999602
+0.9999888
+0.9999888
+0.9999888
+0.99996483
+0.99998724
+0.00013585434
+0.9999317
+0.9999299
+0.9999678
+0.999938
+0.9999831
+0.9999685
+0.9999317
+0.9999864
+0.99998605
+0.99998367
+0.9999708
+0.9999602
+0.99998605
+0.9999851
+0.9999602
+0.9999877
+0.99998736
+0.99998736
+0.99998903
+0.99998367
+0.0001542339
+0.9999678
+0.99996364
+0.9999678
+0.99996483
+3.2848795e-05
+0.9999815
+0.9999602
+0.9999888
+0.99999
+0.9999852
+0.9999639
+0.9999877
+0.99996805
+0.9999602
+0.9999888
+0.9999602
+0.9999888
+0.99998546
+0.00017812874
+0.9999888
+0.99998975
+0.99996364
+0.9999602
+0.9999815
+0.9999888
+0.9999888
+0.99998975
+0.9999393
+0.9999877
+0.99996483
+0.9999602
+5.9588056e-05
+0.00083521125
+3.2848795e-05
+0.99998367
+0.99996555
+0.00035159392
+0.9999852
+0.99998903
+0.9999602
+0.999984
+0.99998796
+0.9999877
+0.9999678
+0.0015203392
+0.99996555
+0.9999602
+0.99998796
+0.99998844
+0.00017812874
+0.99998903
+0.99998903
+0.99998796
+0.99994457
+0.9999678
+3.793864e-05
+3.0411753e-05
+0.99996805
+0.004148995
+0.99998903
+0.9999815
+5.9588056e-05
+5.1143885e-05
+0.9999852
+0.99998796
+3.689701e-05
+0.99999
+0.00013585434
+0.0007576517
+0.99998534
+0.99996555
+0.9999393
+0.99993896
+0.9999639
+0.00032551744
+0.99998903
+0.99996555
+0.99996555
+0.99996877
+0.99996877
+0.0001542339
+0.99998903
+0.99994457
+0.99999
+0.99998367
+0.9999815
+0.9999393
+0.0001542339
+0.9999331
+0.9999602
+6.9338246e-05
+0.99996805
+0.99999
+3.689701e-05
+0.9999888
+1.618272e-05
+0.99998903
+0.00035159392
+0.99998736
+0.9999851
+0.99998796
+1.8690242e-05
+0.99998903
+0.9999685
+0.99998903
+0.00016491521
+0.9988481
+1.8690242e-05
+1.8300698e-05
+0.99996483
+0.99996555
+0.00013585434
+0.99998903
+0.99996555
+0.999984
+3.0411753e-05
+0.99993765
+0.99998796
+3.793864e-05
+0.99993896
+0.99998796
+0.99996877
+0.99998796
+0.99998796
+0.0001542339
+3.2848795e-05
+0.99996877
+0.999984
+7.4894415e-05
+0.99992275
+0.00017812874
+0.99996805
+0.9999888
+0.0007576517
+0.99996555
+1.8690242e-05
+0.9985933
+0.99996877
+3.793864e-05
+0.00013585434
+6.8820795e-05
+0.99996877
+0.99996877
+0.00017812874
+0.99998677
+1.8300698e-05
+0.99998546
+0.99998903
+0.99998677
+0.9999331
+0.9999331
+0.9999331
+0.9988721
+0.9917278
+0.9999393
+0.9999864
+0.99996805
+0.99998534
+0.0001542339
+0.9999393
+0.99998903
+0.99996877
+0.00035159392
+0.99998546
+0.9999815
+1.618272e-05
+0.99996555
+5.223249e-05
+0.00014279263
+0.99998903
+0.99998796
+0.0023245455
+0.99996555
+0.99998903
+0.9999331
+3.793864e-05
+0.00035159392
+0.99996555
+3.793864e-05
+0.9999331
+0.9912554
+0.00017812874
+0.9999331
+0.00013585434
+0.99996483
+0.99998796
+0.99998796
+0.99996877
+6.8820795e-05
+0.9999714
+1.8300698e-05
+0.00014279263
+0.9999888
+0.99996877
+0.9999685
+0.99998724
+3.5123998e-05
+6.9338246e-05
+3.689701e-05
+0.004572132
+0.99993896
+0.9999714
+0.9999393
+0.99998796
+0.0036705781
+0.9912554
+0.99998903
+0.99996555
+0.004045122
+1.8690242e-05
+0.00032551744
+0.999984
+0.9999685
+0.99998546
+7.4894415e-05
+0.00032551744
+0.00017812874
+3.793864e-05
+0.99999
+0.99998796
+0.00010311027
+0.9999602
+0.99998903
+0.99998975
+3.5123998e-05
+0.99996555
+1.8300698e-05
+3.2848795e-05
+0.99878174
+0.00013585434
+0.00013585434
+0.00016491521
+1.8300698e-05
+0.99996877
+0.00013585434
+0.99996877
+0.0001542339
+0.99996555
+1.618272e-05
+0.9999685
+0.0001542339
+0.99998605
+0.99998534
+0.999984
+0.0016758427
+0.99998546
+0.99996364
+0.99998534
+1.8690242e-05
+0.99998546
+0.9999685
+0.0009444215
+0.9999299
+0.004045122
+6.9338246e-05
+1.8690242e-05
+0.00035159392
+0.99996877
+5.9588056e-05
+6.8820795e-05
+0.99998534
+3.2848795e-05
+0.0017189811
+1.8690242e-05
+0.99999
+0.9999678
+0.99993896
+0.00010311027
+0.99996555
+0.9999888
+3.2848795e-05
+0.00083521125
+0.9999685
+0.00013585434
+0.999984
+0.99998903
+6.8820795e-05
+6.8820795e-05
+0.00032551744
+0.9999714
+0.00035159392
+0.00016491521
+0.00016491521
+3.793864e-05
+0.99998546
+1.8690242e-05
+0.99996877
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/examples/src/main/resources/ml/mnist_tf_model/saved_model.pb
----------------------------------------------------------------------
diff --git a/examples/src/main/resources/ml/mnist_tf_model/saved_model.pb b/examples/src/main/resources/ml/mnist_tf_model/saved_model.pb
deleted file mode 100644
index 4d36671..0000000
Binary files a/examples/src/main/resources/ml/mnist_tf_model/saved_model.pb and /dev/null differ
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/examples/src/main/resources/ml/mnist_tf_model/variables/variables.data-00000-of-00001
----------------------------------------------------------------------
diff --git a/examples/src/main/resources/ml/mnist_tf_model/variables/variables.data-00000-of-00001 b/examples/src/main/resources/ml/mnist_tf_model/variables/variables.data-00000-of-00001
deleted file mode 100644
index a65398f..0000000
Binary files a/examples/src/main/resources/ml/mnist_tf_model/variables/variables.data-00000-of-00001 and /dev/null differ
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/examples/src/main/resources/ml/mnist_tf_model/variables/variables.index
----------------------------------------------------------------------
diff --git a/examples/src/main/resources/ml/mnist_tf_model/variables/variables.index b/examples/src/main/resources/ml/mnist_tf_model/variables/variables.index
deleted file mode 100644
index 221dd2d..0000000
Binary files a/examples/src/main/resources/ml/mnist_tf_model/variables/variables.index and /dev/null differ
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/examples/src/main/resources/models/mnist_tf_model/saved_model.pb
----------------------------------------------------------------------
diff --git a/examples/src/main/resources/models/mnist_tf_model/saved_model.pb b/examples/src/main/resources/models/mnist_tf_model/saved_model.pb
new file mode 100644
index 0000000..4d36671
Binary files /dev/null and b/examples/src/main/resources/models/mnist_tf_model/saved_model.pb differ
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/examples/src/main/resources/models/mnist_tf_model/variables/variables.data-00000-of-00001
----------------------------------------------------------------------
diff --git a/examples/src/main/resources/models/mnist_tf_model/variables/variables.data-00000-of-00001 b/examples/src/main/resources/models/mnist_tf_model/variables/variables.data-00000-of-00001
new file mode 100644
index 0000000..a65398f
Binary files /dev/null and b/examples/src/main/resources/models/mnist_tf_model/variables/variables.data-00000-of-00001 differ
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/examples/src/main/resources/models/mnist_tf_model/variables/variables.index
----------------------------------------------------------------------
diff --git a/examples/src/main/resources/models/mnist_tf_model/variables/variables.index b/examples/src/main/resources/models/mnist_tf_model/variables/variables.index
new file mode 100644
index 0000000..221dd2d
Binary files /dev/null and b/examples/src/main/resources/models/mnist_tf_model/variables/variables.index differ
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/examples/src/main/resources/models/xgboost/agaricus-model.txt
----------------------------------------------------------------------
diff --git a/examples/src/main/resources/models/xgboost/agaricus-model.txt b/examples/src/main/resources/models/xgboost/agaricus-model.txt
new file mode 100644
index 0000000..4bf76d6
--- /dev/null
+++ b/examples/src/main/resources/models/xgboost/agaricus-model.txt
@@ -0,0 +1,714 @@
+booster[0]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f56<-9.53674e-07] yes=3,no=4,missing=3
+ 3:[f60<-9.53674e-07] yes=7,no=8,missing=7
+ 7:[f23<-9.53674e-07] yes=13,no=14,missing=13
+ 13:[f24<-9.53674e-07] yes=19,no=20,missing=19
+ 19:leaf=1.99735
+ 20:leaf=-1.8
+ 14:leaf=-1.80952
+ 8:leaf=-1.95062
+ 4:[f21<-9.53674e-07] yes=9,no=10,missing=9
+ 9:leaf=1.77778
+ 10:leaf=-1.98104
+ 2:[f109<-9.53674e-07] yes=5,no=6,missing=5
+ 5:[f67<-9.53674e-07] yes=11,no=12,missing=11
+ 11:[f8<-9.53674e-07] yes=15,no=16,missing=15
+ 15:leaf=-1.99117
+ 16:leaf=1
+ 12:[f39<-9.53674e-07] yes=17,no=18,missing=17
+ 17:leaf=1.77143
+ 18:leaf=-1.5
+ 6:leaf=1.85965
+booster[1]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f21<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=1.13207
+ 4:[f27<-9.53674e-07] yes=7,no=8,missing=7
+ 7:[f30<-9.53674e-07] yes=11,no=12,missing=11
+ 11:leaf=-1.12641
+ 12:leaf=1.08392
+ 8:leaf=1.09118
+ 2:[f109<-9.53674e-07] yes=5,no=6,missing=5
+ 5:[f67<-9.53674e-07] yes=9,no=10,missing=9
+ 9:[f39<-9.53674e-07] yes=13,no=14,missing=13
+ 13:[f21<-9.53674e-07] yes=17,no=18,missing=17
+ 17:leaf=-1.06692
+ 18:leaf=2.08
+ 14:leaf=-1.13236
+ 10:[f39<-9.53674e-07] yes=15,no=16,missing=15
+ 15:leaf=0.928896
+ 16:leaf=-0.784694
+ 6:leaf=0.994744
+booster[2]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f21<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=1.03409
+ 4:[f27<-9.53674e-07] yes=7,no=8,missing=7
+ 7:[f30<-9.53674e-07] yes=11,no=12,missing=11
+ 11:leaf=-1.00925
+ 12:leaf=0.934041
+ 8:leaf=0.947964
+ 2:[f109<-9.53674e-07] yes=5,no=6,missing=5
+ 5:[f39<-9.53674e-07] yes=9,no=10,missing=9
+ 9:[f112<-9.53674e-07] yes=13,no=14,missing=13
+ 13:leaf=-0.862367
+ 14:[f79<-9.53674e-07] yes=15,no=16,missing=15
+ 15:leaf=0.996309
+ 16:leaf=-0.217869
+ 10:leaf=-1.03467
+ 6:leaf=0.773973
+booster[3]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f56<-9.53674e-07] yes=3,no=4,missing=3
+ 3:[f60<-9.53674e-07] yes=7,no=8,missing=7
+ 7:[f36<-9.53674e-07] yes=11,no=12,missing=11
+ 11:[f21<-9.53674e-07] yes=15,no=16,missing=15
+ 15:leaf=0.535599
+ 16:leaf=-0.591832
+ 12:leaf=0.99398
+ 8:leaf=-0.731796
+ 4:leaf=-0.74401
+ 2:[f109<-9.53674e-07] yes=5,no=6,missing=5
+ 5:[f67<-9.53674e-07] yes=9,no=10,missing=9
+ 9:[f115<-9.53674e-07] yes=13,no=14,missing=13
+ 13:leaf=-0.991027
+ 14:[f86<-9.53674e-07] yes=17,no=18,missing=17
+ 17:leaf=-0.71378
+ 18:leaf=-0.010833
+ 10:leaf=0.382551
+ 6:leaf=0.587063
+booster[4]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f21<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=0.949695
+ 4:[f27<-9.53674e-07] yes=7,no=8,missing=7
+ 7:[f30<-9.53674e-07] yes=13,no=14,missing=13
+ 13:leaf=-0.846263
+ 14:leaf=0.571051
+ 8:leaf=0.604424
+ 2:[f39<-9.53674e-07] yes=5,no=6,missing=5
+ 5:[f7<-9.53674e-07] yes=9,no=10,missing=9
+ 9:leaf=0.359876
+ 10:leaf=-0.0906721
+ 6:[f1<-9.53674e-07] yes=11,no=12,missing=11
+ 11:leaf=-0.902494
+ 12:leaf=-0.222349
+booster[5]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f21<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=0.866121
+ 4:[f56<-9.53674e-07] yes=7,no=8,missing=7
+ 7:[f10<-9.53674e-07] yes=11,no=12,missing=11
+ 11:leaf=-0.172918
+ 12:leaf=0.444059
+ 8:leaf=-0.581706
+ 2:[f109<-9.53674e-07] yes=5,no=6,missing=5
+ 5:[f39<-9.53674e-07] yes=9,no=10,missing=9
+ 9:[f65<-9.53674e-07] yes=13,no=14,missing=13
+ 13:leaf=0.314289
+ 14:leaf=-0.137217
+ 10:leaf=-0.87866
+ 6:leaf=0.593857
+booster[6]:
+0:[f64<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f39<-9.53674e-07] yes=3,no=4,missing=3
+ 3:[f21<-9.53674e-07] yes=5,no=6,missing=5
+ 5:leaf=-0.16553
+ 6:leaf=0.424994
+ 4:[f118<-9.53674e-07] yes=7,no=8,missing=7
+ 7:leaf=-0.662592
+ 8:leaf=0.10184
+ 2:leaf=0.647963
+booster[7]:
+0:[f27<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f39<-9.53674e-07] yes=3,no=4,missing=3
+ 3:[f112<-9.53674e-07] yes=5,no=6,missing=5
+ 5:leaf=-0.205397
+ 6:[f55<-9.53674e-07] yes=9,no=10,missing=9
+ 9:leaf=0.531323
+ 10:leaf=0.0411505
+ 4:[f95<-9.53674e-07] yes=7,no=8,missing=7
+ 7:leaf=0.0893909
+ 8:leaf=-0.688257
+ 2:leaf=0.62192
+booster[8]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f21<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=0.559472
+ 4:leaf=0.047577
+ 2:[f21<-9.53674e-07] yes=5,no=6,missing=5
+ 5:leaf=-0.522063
+ 6:leaf=0.185313
+booster[9]:
+0:[f106<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f36<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=-0.106198
+ 4:[f29<-9.53674e-07] yes=5,no=6,missing=5
+ 5:leaf=0.451254
+ 6:leaf=0.0100806
+ 2:leaf=-0.265738
+booster[10]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f118<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=0.411374
+ 4:leaf=-0.00392402
+ 2:[f118<-9.53674e-07] yes=5,no=6,missing=5
+ 5:leaf=-0.370329
+ 6:leaf=0.106229
+booster[11]:
+0:[f126<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f21<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=-0.244834
+ 4:leaf=0.393425
+ 2:leaf=-0.191846
+booster[12]:
+0:[f65<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.281915
+ 2:[f126<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=0.0457934
+ 4:leaf=-0.335547
+booster[13]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:[f55<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=0.298848
+ 4:leaf=-0.0234579
+ 2:leaf=-0.211675
+booster[14]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.180838
+ 2:[f21<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=-0.28038
+ 4:leaf=0.0867539
+booster[15]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.123414
+ 2:leaf=-0.136942
+booster[16]:
+0:[f36<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.154724
+ 2:[f118<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=-0.17891
+ 4:leaf=0.28564
+booster[17]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.1202
+ 2:leaf=-0.113537
+booster[18]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0946849
+ 2:leaf=0.147314
+booster[19]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.128399
+ 2:leaf=0.117783
+booster[20]:
+0:[f36<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.135164
+ 2:[f55<-9.53674e-07] yes=3,no=4,missing=3
+ 3:leaf=-0.042949
+ 4:leaf=0.173579
+booster[21]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0957448
+ 2:leaf=-0.104156
+booster[22]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0925588
+ 2:leaf=-0.0798059
+booster[23]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0830908
+ 2:leaf=0.126943
+booster[24]:
+0:[f126<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0823832
+ 2:leaf=-0.0899369
+booster[25]:
+0:[f3<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0589036
+ 2:leaf=-0.0851568
+booster[26]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0859156
+ 2:leaf=-0.0815898
+booster[27]:
+0:[f21<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0637587
+ 2:leaf=-0.048542
+booster[28]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.069489
+ 2:leaf=0.058072
+booster[29]:
+0:[f36<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.149849
+ 2:leaf=0.0984096
+booster[30]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0688469
+ 2:leaf=0.0689056
+booster[31]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.071993
+ 2:leaf=0.0544265
+booster[32]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0686437
+ 2:leaf=-0.061108
+booster[33]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0522195
+ 2:leaf=-0.0544709
+booster[34]:
+0:[f126<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0445775
+ 2:leaf=-0.0612543
+booster[35]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0370941
+ 2:leaf=0.0414116
+booster[36]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0491957
+ 2:leaf=-0.0374184
+booster[37]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0428276
+ 2:leaf=0.0362258
+booster[38]:
+0:[f21<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.038428
+ 2:leaf=-0.0331781
+booster[39]:
+0:[f36<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.14093
+ 2:leaf=0.101744
+booster[40]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0443167
+ 2:leaf=-0.0668384
+booster[41]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0654174
+ 2:leaf=0.0401212
+booster[42]:
+0:[f118<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0426251
+ 2:leaf=-0.0430745
+booster[43]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0315924
+ 2:leaf=0.0413181
+booster[44]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.037716
+ 2:leaf=0.0316046
+booster[45]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0384603
+ 2:leaf=-0.031591
+booster[46]:
+0:[f9<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0264121
+ 2:leaf=0.0318885
+booster[47]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0258388
+ 2:leaf=-0.0263959
+booster[48]:
+0:[f118<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0220629
+ 2:leaf=-0.0169775
+booster[49]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0254499
+ 2:leaf=0.0207041
+booster[50]:
+0:[f126<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.022765
+ 2:leaf=-0.0334065
+booster[51]:
+0:[f21<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.022757
+ 2:leaf=-0.0227902
+booster[52]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0265489
+ 2:leaf=-0.0199871
+booster[53]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0149867
+ 2:leaf=0.022471
+booster[54]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0175078
+ 2:leaf=0.0157137
+booster[55]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0182503
+ 2:leaf=-0.0143524
+booster[56]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0115217
+ 2:leaf=0.0166359
+booster[57]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0134613
+ 2:leaf=-0.0116378
+booster[58]:
+0:[f9<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.00981541
+ 2:leaf=0.0115454
+booster[59]:
+0:[f55<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0116732
+ 2:leaf=0.00925633
+booster[60]:
+0:[f4<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00879889
+ 2:leaf=-0.0122642
+booster[61]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0105853
+ 2:leaf=-0.00918858
+booster[62]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.00988643
+ 2:leaf=0.0133116
+booster[63]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00922858
+ 2:leaf=-0.00796718
+booster[64]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.00674803
+ 2:leaf=0.00923198
+booster[65]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00946677
+ 2:leaf=-0.00611888
+booster[66]:
+0:[f21<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00809434
+ 2:leaf=-0.00524561
+booster[67]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0058383
+ 2:leaf=-0.0047337
+booster[68]:
+0:[f9<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.00516364
+ 2:leaf=0.00612514
+booster[69]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.00393965
+ 2:leaf=0.0055112
+booster[70]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0062736
+ 2:leaf=-0.00406246
+booster[71]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00387397
+ 2:leaf=-0.00335857
+booster[72]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00378672
+ 2:leaf=-0.00363264
+booster[73]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.00348857
+ 2:leaf=0.00454308
+booster[74]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00310136
+ 2:leaf=-0.00269635
+booster[75]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.00232427
+ 2:leaf=0.00316355
+booster[76]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0033131
+ 2:leaf=-0.00214357
+booster[77]:
+0:[f9<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.00198535
+ 2:leaf=0.00270199
+booster[78]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00189522
+ 2:leaf=-0.00163941
+booster[79]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0018533
+ 2:leaf=0.00251417
+booster[80]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00213544
+ 2:leaf=-0.00134465
+booster[81]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.0010731
+ 2:leaf=0.0017787
+booster[82]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.00170681
+ 2:leaf=-0.00144721
+booster[83]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.000965197
+ 2:leaf=0.00137187
+booster[84]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.0014236
+ 2:leaf=-0.000908222
+booster[85]:
+0:[f9<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.000799637
+ 2:leaf=0.00110198
+booster[86]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.000950752
+ 2:leaf=-0.000839873
+booster[87]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.000841428
+ 2:leaf=0.0011364
+booster[88]:
+0:[f29<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.000900093
+ 2:leaf=-0.00055321
+booster[89]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.000479465
+ 2:leaf=0.000775463
+booster[90]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.000824745
+ 2:leaf=-0.000703525
+booster[91]:
+0:[f112<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=-0.000446206
+ 2:leaf=0.000627391
+booster[92]:
+0:[f51<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.000531432
+ 2:leaf=-0.000464763
+booster[93]:
+0:[f39<-9.53674e-07] yes=1,no=2,missing=1
+ 1:leaf=0.000457717
+ 2:leaf=-0.000483533
+booster[94]:
+0:leaf=-8.69481e-06
+booster[95]:
+0:leaf=-2.22842e-06
+booster[96]:
+0:leaf=-7.41984e-07
+booster[97]:
+0:leaf=6.03395e-07
+booster[98]:
+0:leaf=-2.45552e-08
+booster[99]:
+0:leaf=-2.45552e-08
+booster[100]:
+0:leaf=-2.45552e-08
+booster[101]:
+0:leaf=-2.45552e-08
+booster[102]:
+0:leaf=-2.45552e-08
+booster[103]:
+0:leaf=-2.45552e-08
+booster[104]:
+0:leaf=-2.45552e-08
+booster[105]:
+0:leaf=-2.45552e-08
+booster[106]:
+0:leaf=-2.45552e-08
+booster[107]:
+0:leaf=-2.45552e-08
+booster[108]:
+0:leaf=-2.45552e-08
+booster[109]:
+0:leaf=-2.45552e-08
+booster[110]:
+0:leaf=-2.45552e-08
+booster[111]:
+0:leaf=-2.45552e-08
+booster[112]:
+0:leaf=-2.45552e-08
+booster[113]:
+0:leaf=-2.45552e-08
+booster[114]:
+0:leaf=-2.45552e-08
+booster[115]:
+0:leaf=-2.45552e-08
+booster[116]:
+0:leaf=-2.45552e-08
+booster[117]:
+0:leaf=-2.45552e-08
+booster[118]:
+0:leaf=-2.45552e-08
+booster[119]:
+0:leaf=-2.45552e-08
+booster[120]:
+0:leaf=-2.45552e-08
+booster[121]:
+0:leaf=-2.45552e-08
+booster[122]:
+0:leaf=-2.45552e-08
+booster[123]:
+0:leaf=-2.45552e-08
+booster[124]:
+0:leaf=-2.45552e-08
+booster[125]:
+0:leaf=-2.45552e-08
+booster[126]:
+0:leaf=-2.45552e-08
+booster[127]:
+0:leaf=-2.45552e-08
+booster[128]:
+0:leaf=-2.45552e-08
+booster[129]:
+0:leaf=-2.45552e-08
+booster[130]:
+0:leaf=-2.45552e-08
+booster[131]:
+0:leaf=-2.45552e-08
+booster[132]:
+0:leaf=-2.45552e-08
+booster[133]:
+0:leaf=-2.45552e-08
+booster[134]:
+0:leaf=-2.45552e-08
+booster[135]:
+0:leaf=-2.45552e-08
+booster[136]:
+0:leaf=-2.45552e-08
+booster[137]:
+0:leaf=-2.45552e-08
+booster[138]:
+0:leaf=-2.45552e-08
+booster[139]:
+0:leaf=-2.45552e-08
+booster[140]:
+0:leaf=-2.45552e-08
+booster[141]:
+0:leaf=-2.45552e-08
+booster[142]:
+0:leaf=-2.45552e-08
+booster[143]:
+0:leaf=-2.45552e-08
+booster[144]:
+0:leaf=-2.45552e-08
+booster[145]:
+0:leaf=-2.45552e-08
+booster[146]:
+0:leaf=-2.45552e-08
+booster[147]:
+0:leaf=-2.45552e-08
+booster[148]:
+0:leaf=-2.45552e-08
+booster[149]:
+0:leaf=-2.45552e-08
+booster[150]:
+0:leaf=-2.45552e-08
+booster[151]:
+0:leaf=-2.45552e-08
+booster[152]:
+0:leaf=-2.45552e-08
+booster[153]:
+0:leaf=-2.45552e-08
+booster[154]:
+0:leaf=-2.45552e-08
+booster[155]:
+0:leaf=-2.45552e-08
+booster[156]:
+0:leaf=-2.45552e-08
+booster[157]:
+0:leaf=-2.45552e-08
+booster[158]:
+0:leaf=-2.45552e-08
+booster[159]:
+0:leaf=-2.45552e-08
+booster[160]:
+0:leaf=-2.45552e-08
+booster[161]:
+0:leaf=-2.45552e-08
+booster[162]:
+0:leaf=-2.45552e-08
+booster[163]:
+0:leaf=-2.45552e-08
+booster[164]:
+0:leaf=-2.45552e-08
+booster[165]:
+0:leaf=-2.45552e-08
+booster[166]:
+0:leaf=-2.45552e-08
+booster[167]:
+0:leaf=-2.45552e-08
+booster[168]:
+0:leaf=-2.45552e-08
+booster[169]:
+0:leaf=-2.45552e-08
+booster[170]:
+0:leaf=-2.45552e-08
+booster[171]:
+0:leaf=-2.45552e-08
+booster[172]:
+0:leaf=-2.45552e-08
+booster[173]:
+0:leaf=-2.45552e-08
+booster[174]:
+0:leaf=-2.45552e-08
+booster[175]:
+0:leaf=-2.45552e-08
+booster[176]:
+0:leaf=-2.45552e-08
+booster[177]:
+0:leaf=-2.45552e-08
+booster[178]:
+0:leaf=-2.45552e-08
+booster[179]:
+0:leaf=-2.45552e-08
+booster[180]:
+0:leaf=-2.45552e-08
+booster[181]:
+0:leaf=-2.45552e-08
+booster[182]:
+0:leaf=-2.45552e-08
+booster[183]:
+0:leaf=-2.45552e-08
+booster[184]:
+0:leaf=-2.45552e-08
+booster[185]:
+0:leaf=-2.45552e-08
+booster[186]:
+0:leaf=-2.45552e-08
+booster[187]:
+0:leaf=-2.45552e-08
+booster[188]:
+0:leaf=-2.45552e-08
+booster[189]:
+0:leaf=-2.45552e-08
+booster[190]:
+0:leaf=-2.45552e-08
+booster[191]:
+0:leaf=-2.45552e-08
+booster[192]:
+0:leaf=-2.45552e-08
+booster[193]:
+0:leaf=-2.45552e-08
+booster[194]:
+0:leaf=-2.45552e-08
+booster[195]:
+0:leaf=-2.45552e-08
+booster[196]:
+0:leaf=-2.45552e-08
+booster[197]:
+0:leaf=-2.45552e-08
+booster[198]:
+0:leaf=-2.45552e-08
+booster[199]:
+0:leaf=-2.45552e-08
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/src/main/java/org/apache/ignite/ml/inference/builder/IgniteDistributedInfModelBuilder.java
----------------------------------------------------------------------
diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/inference/builder/IgniteDistributedInfModelBuilder.java b/modules/ml/src/main/java/org/apache/ignite/ml/inference/builder/IgniteDistributedInfModelBuilder.java
index 7a176e0..2c6d917 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/inference/builder/IgniteDistributedInfModelBuilder.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/inference/builder/IgniteDistributedInfModelBuilder.java
@@ -176,17 +176,18 @@ public class IgniteDistributedInfModelBuilder implements AsyncInfModelBuilder {
if (!running.get())
throw new IllegalStateException("Inference model is not running");
- reqQueue.put(input);
+ CompletableFuture<O> fut = new CompletableFuture<>();
try {
- CompletableFuture<O> fut = new CompletableFuture<>();
futures.put(fut);
- return fut;
}
catch (InterruptedException e) {
close(); // In case of exception in the above code the model state becomes invalid and model is closed.
throw new RuntimeException(e);
}
+
+ reqQueue.put(input);
+ return fut;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/pom.xml
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/pom.xml b/modules/ml/xgboost-model-parser/pom.xml
new file mode 100644
index 0000000..d70ae0b
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ POM file.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <properties>
+ <antlr.version>4.7.1</antlr.version>
+ </properties>
+
+ <parent>
+ <artifactId>ignite-parent</artifactId>
+ <groupId>org.apache.ignite</groupId>
+ <version>1</version>
+ <relativePath>../../../parent</relativePath>
+ </parent>
+
+ <artifactId>ignite-ml-xgboost-model-parser</artifactId>
+ <version>2.7.0-SNAPSHOT</version>
+ <url>http://ignite.apache.org</url>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.ignite</groupId>
+ <artifactId>ignite-ml</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.antlr</groupId>
+ <artifactId>antlr4-runtime</artifactId>
+ <version>${antlr.version}</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/MapBasedXGObject.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/MapBasedXGObject.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/MapBasedXGObject.java
new file mode 100644
index 0000000..20bdf1f
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/MapBasedXGObject.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/** Map based implementation of {@link XGObject}. */
+public class MapBasedXGObject implements XGObject {
+ /** */
+ private static final long serialVersionUID = 4378979710350902592L;
+
+ /** Key-value map. */
+ private final Map<String, Double> map;
+
+ /**
+ * Constructs a new instance of map based {@link XGObject} with empty map.
+ */
+ public MapBasedXGObject() {
+ this(new HashMap<>());
+ }
+
+ /**
+ * Constructs a new instance of map based {@link XGObject} with the specified map.
+ *
+ * @param map Map.
+ */
+ public MapBasedXGObject(Map<String, Double> map) {
+ this.map = map;
+ }
+
+ /** {@inheritDoc} */
+ @Override public Double getFeature(String featureName) {
+ return map.get(featureName);
+ }
+
+ /**
+ * Puts feature value with the specified feature name.
+ *
+ * @param featureName Feature name.
+ * @param val Feature value.
+ */
+ public void put(String featureName, Double val) {
+ map.put(featureName, val);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGLeafNode.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGLeafNode.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGLeafNode.java
new file mode 100644
index 0000000..da572db
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGLeafNode.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost;
+
+/** XGBoost model leaf node. */
+public class XGLeafNode implements XGNode {
+ /** Value. */
+ private final double val;
+
+ /**
+ * Constructs a new instance of leaf node.
+ *
+ * @param val Value.
+ */
+ public XGLeafNode(double val) {
+ this.val = val;
+ }
+
+ /** {@inheritDoc} */
+ @Override public double predict(XGObject obj) {
+ return val;
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGModel.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGModel.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGModel.java
new file mode 100644
index 0000000..3ca9d54
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGModel.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost;
+
+import java.util.List;
+import org.apache.ignite.ml.inference.InfModel;
+
+/**
+ * XGBoost model.
+ */
+public class XGModel implements InfModel<XGObject, Double> {
+ /** List of decision trees. */
+ private final List<XGNode> trees;
+
+ /**
+ * Constructs a new XGBoost model.
+ *
+ * @param trees List of XGBoost trees.
+ */
+ public XGModel(List<XGNode> trees) {
+ this.trees = trees;
+ }
+
+ /** {@inheritDoc} */
+ @Override public Double predict(XGObject obj) {
+ double res = 0;
+
+ for (XGNode tree : trees)
+ res += tree.predict(obj);
+
+ return (1.0 / (1.0 + Math.exp(-res)));
+ }
+
+ /** {@inheritDoc} */
+ @Override public void close() {
+ // Do nothing.
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGNode.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGNode.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGNode.java
new file mode 100644
index 0000000..f3401a7
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGNode.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost;
+
+/** XGBoost model node. */
+public interface XGNode {
+ /**
+ * Predicts label for the specified object.
+ *
+ * @param obj Object.
+ * @return Label.
+ */
+ public double predict(XGObject obj);
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGObject.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGObject.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGObject.java
new file mode 100644
index 0000000..408c170
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGObject.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost;
+
+import java.io.Serializable;
+
+/**
+ * Base interface for objects processed by XGBoost model.
+ */
+public interface XGObject extends Serializable {
+ /**
+ * Returns feature value by the specified name.
+ *
+ * @param featureName Feature name.
+ * @return Feature value.
+ */
+ public Double getFeature(String featureName);
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGSplitNode.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGSplitNode.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGSplitNode.java
new file mode 100644
index 0000000..16c0ed4
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/XGSplitNode.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost;
+
+/** XGBoost model split node. */
+public class XGSplitNode implements XGNode {
+ /** Feature name. */
+ private final String featureName;
+
+ /** Threshold. */
+ private final double threshold;
+
+ /** "Yes" child node. */
+ private XGNode yesNode;
+
+ /** "No" child node. */
+ private XGNode noNode;
+
+ /** "Missing" child node. */
+ private XGNode missingNode;
+
+ /**
+ * Constructs a new instance of XGBoost model split node.
+ *
+ * @param featureName Feature name.
+ * @param threshold Threshold.
+ */
+ public XGSplitNode(String featureName, double threshold) {
+ this.featureName = featureName;
+ this.threshold = threshold;
+ }
+
+ /** {@inheritDoc} */
+ @Override public double predict(XGObject obj) {
+ Double featureVal = obj.getFeature(featureName);
+
+ if (featureVal == null)
+ return missingNode.predict(obj);
+ else if (featureVal < threshold)
+ return yesNode.predict(obj);
+ else
+ return noNode.predict(obj);
+ }
+
+ /** */
+ public void setYesNode(XGNode yesNode) {
+ this.yesNode = yesNode;
+ }
+
+ /** */
+ public void setNoNode(XGNode noNode) {
+ this.noNode = noNode;
+ }
+
+ /** */
+ public void setMissingNode(XGNode missingNode) {
+ this.missingNode = missingNode;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/package-info.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/package-info.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/package-info.java
new file mode 100644
index 0000000..ca95b1d
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * <!-- Package description. -->
+ * Base package for XGBoost model parser, correspondent DTOs and util classes.
+ */
+package org.apache.ignite.ml.xgboost;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelBaseVisitor.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelBaseVisitor.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelBaseVisitor.java
new file mode 100644
index 0000000..725b3c8
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelBaseVisitor.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost.parser;
+
+import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;
+
+/**
+ * This class provides an empty implementation of {@link XGBoostModelVisitor},
+ * which can be extended to create a visitor which only needs to handle a subset
+ * of the available methods.
+ *
+ * @param <T> The return type of the visit operation. Use {@link Void} for
+ * operations with no return type.
+ */
+public class XGBoostModelBaseVisitor<T> extends AbstractParseTreeVisitor<T> implements XGBoostModelVisitor<T> {
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation returns the result of calling
+ * {@link #visitChildren} on {@code ctx}.</p>
+ */
+ @Override public T visitXgValue(XGBoostModelParser.XgValueContext ctx) { return visitChildren(ctx); }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation returns the result of calling
+ * {@link #visitChildren} on {@code ctx}.</p>
+ */
+ @Override public T visitXgHeader(XGBoostModelParser.XgHeaderContext ctx) { return visitChildren(ctx); }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation returns the result of calling
+ * {@link #visitChildren} on {@code ctx}.</p>
+ */
+ @Override public T visitXgNode(XGBoostModelParser.XgNodeContext ctx) { return visitChildren(ctx); }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation returns the result of calling
+ * {@link #visitChildren} on {@code ctx}.</p>
+ */
+ @Override public T visitXgLeaf(XGBoostModelParser.XgLeafContext ctx) { return visitChildren(ctx); }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation returns the result of calling
+ * {@link #visitChildren} on {@code ctx}.</p>
+ */
+ @Override public T visitXgTree(XGBoostModelParser.XgTreeContext ctx) { return visitChildren(ctx); }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation returns the result of calling
+ * {@link #visitChildren} on {@code ctx}.</p>
+ */
+ @Override public T visitXgModel(XGBoostModelParser.XgModelContext ctx) { return visitChildren(ctx); }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelLexer.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelLexer.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelLexer.java
new file mode 100644
index 0000000..fcec81f
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelLexer.java
@@ -0,0 +1,210 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost.parser;
+
+import org.antlr.v4.runtime.CharStream;
+import org.antlr.v4.runtime.Lexer;
+import org.antlr.v4.runtime.RuntimeMetaData;
+import org.antlr.v4.runtime.Vocabulary;
+import org.antlr.v4.runtime.VocabularyImpl;
+import org.antlr.v4.runtime.atn.ATN;
+import org.antlr.v4.runtime.atn.ATNDeserializer;
+import org.antlr.v4.runtime.atn.LexerATNSimulator;
+import org.antlr.v4.runtime.atn.PredictionContextCache;
+import org.antlr.v4.runtime.dfa.DFA;
+
+/**
+ * XGBoost model lexer generated by ANTLR.
+ */
+@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
+public class XGBoostModelLexer extends Lexer {
+ /** ANTLR version checker. */
+ static {
+ RuntimeMetaData.checkVersion("4.7.1", RuntimeMetaData.VERSION);
+ }
+
+ /** Decision to DFA. */
+ protected static final DFA[] _decisionToDFA;
+
+ /** Shared context cache. */
+ protected static final PredictionContextCache _sharedContextCache = new PredictionContextCache();
+
+ /** */
+ public static final int
+ YES = 1, NO = 2, MISSING = 3, EQ = 4, COMMA = 5, PLUS = 6, MINUS = 7, DOT = 8, EXP = 9,
+ BOOSTER = 10, LBRACK = 11, RBRACK = 12, COLON = 13, LEAF = 14, INT = 15, DOUBLE = 16,
+ STRING = 17, NEWLINE = 18, LT = 19, WS = 20;
+
+ /** Channel names. */
+ public static String[] channelNames = {
+ "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
+ };
+
+ /** Mode names. */
+ public static String[] modeNames = {
+ "DEFAULT_MODE"
+ };
+
+ /** Rule names. */
+ public static final String[] ruleNames = {
+ "YES", "NO", "MISSING", "EQ", "COMMA", "PLUS", "MINUS", "DOT", "EXP",
+ "BOOSTER", "LBRACK", "RBRACK", "COLON", "LEAF", "INT", "DOUBLE", "STRING",
+ "NEWLINE", "LT", "WS"
+ };
+
+ /** Literal names. */
+ private static final String[] _LITERAL_NAMES = {
+ null, "'yes'", "'no'", "'missing'", "'='", "','", "'+'", "'-'", "'.'",
+ null, "'booster'", "'['", "']'", "':'", "'leaf'", null, null, null, null,
+ "'<'"
+ };
+
+ /** Symbolic names. */
+ private static final String[] _SYMBOLIC_NAMES = {
+ null, "YES", "NO", "MISSING", "EQ", "COMMA", "PLUS", "MINUS", "DOT", "EXP",
+ "BOOSTER", "LBRACK", "RBRACK", "COLON", "LEAF", "INT", "DOUBLE", "STRING",
+ "NEWLINE", "LT", "WS"
+ };
+
+ /** Vocabulary. */
+ public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
+
+ /**
+ * Token names.
+ *
+ * @deprecated Use {@link #VOCABULARY} instead.
+ */
+ @Deprecated
+ public static final String[] tokenNames;
+
+ /** */
+ static {
+ tokenNames = new String[_SYMBOLIC_NAMES.length];
+ for (int i = 0; i < tokenNames.length; i++) {
+ tokenNames[i] = VOCABULARY.getLiteralName(i);
+ if (tokenNames[i] == null) {
+ tokenNames[i] = VOCABULARY.getSymbolicName(i);
+ }
+
+ if (tokenNames[i] == null) {
+ tokenNames[i] = "<INVALID>";
+ }
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Deprecated
+ @Override public String[] getTokenNames() {
+ return tokenNames;
+ }
+
+ /** {@inheritDoc} */
+ @Override public Vocabulary getVocabulary() {
+ return VOCABULARY;
+ }
+
+ /**
+ * Constructs a new instance of XGBoost model lexer.
+ *
+ * @param input Character stream.
+ */
+ public XGBoostModelLexer(CharStream input) {
+ super(input);
+ _interp = new LexerATNSimulator(this, _ATN, _decisionToDFA, _sharedContextCache);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getGrammarFileName() {
+ return "XGBoostModel.g4";
+ }
+
+ /** {@inheritDoc} */
+ @Override public String[] getRuleNames() {
+ return ruleNames;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getSerializedATN() {
+ return _serializedATN;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String[] getChannelNames() {
+ return channelNames;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String[] getModeNames() {
+ return modeNames;
+ }
+
+ /** {@inheritDoc} */
+ @Override public ATN getATN() {
+ return _ATN;
+ }
+
+ /** Serialized ATN. */
+ public static final String _serializedATN =
+ "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\26\u0083\b\1\4\2" +
+ "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4" +
+ "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22" +
+ "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\3\2\3\2\3\2\3\2\3\3\3\3\3\3\3\4\3" +
+ "\4\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n" +
+ "\3\n\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16" +
+ "\3\17\3\17\3\17\3\17\3\17\3\20\3\20\5\20\\\n\20\3\20\6\20_\n\20\r\20\16" +
+ "\20`\3\21\3\21\3\21\7\21f\n\21\f\21\16\21i\13\21\3\21\3\21\3\21\5\21n" +
+ "\n\21\3\22\3\22\6\22r\n\22\r\22\16\22s\3\23\3\23\3\23\5\23y\n\23\3\24" +
+ "\3\24\3\25\6\25~\n\25\r\25\16\25\177\3\25\3\25\2\2\26\3\3\5\4\7\5\t\6" +
+ "\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24" +
+ "\'\25)\26\3\2\b\4\2GGgg\3\2\62;\5\2C\\aac|\6\2\62;C\\aac|\4\2\f\f\17\17" +
+ "\4\2\13\13\"\"\2\u008a\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2" +
+ "\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25" +
+ "\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2" +
+ "\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\3+\3\2\2" +
+ "\2\5/\3\2\2\2\7\62\3\2\2\2\t:\3\2\2\2\13<\3\2\2\2\r>\3\2\2\2\17@\3\2\2" +
+ "\2\21B\3\2\2\2\23D\3\2\2\2\25F\3\2\2\2\27N\3\2\2\2\31P\3\2\2\2\33R\3\2" +
+ "\2\2\35T\3\2\2\2\37[\3\2\2\2!b\3\2\2\2#o\3\2\2\2%x\3\2\2\2\'z\3\2\2\2" +
+ ")}\3\2\2\2+,\7{\2\2,-\7g\2\2-.\7u\2\2.\4\3\2\2\2/\60\7p\2\2\60\61\7q\2" +
+ "\2\61\6\3\2\2\2\62\63\7o\2\2\63\64\7k\2\2\64\65\7u\2\2\65\66\7u\2\2\66" +
+ "\67\7k\2\2\678\7p\2\289\7i\2\29\b\3\2\2\2:;\7?\2\2;\n\3\2\2\2<=\7.\2\2" +
+ "=\f\3\2\2\2>?\7-\2\2?\16\3\2\2\2@A\7/\2\2A\20\3\2\2\2BC\7\60\2\2C\22\3" +
+ "\2\2\2DE\t\2\2\2E\24\3\2\2\2FG\7d\2\2GH\7q\2\2HI\7q\2\2IJ\7u\2\2JK\7v" +
+ "\2\2KL\7g\2\2LM\7t\2\2M\26\3\2\2\2NO\7]\2\2O\30\3\2\2\2PQ\7_\2\2Q\32\3" +
+ "\2\2\2RS\7<\2\2S\34\3\2\2\2TU\7n\2\2UV\7g\2\2VW\7c\2\2WX\7h\2\2X\36\3" +
+ "\2\2\2Y\\\5\r\7\2Z\\\5\17\b\2[Y\3\2\2\2[Z\3\2\2\2[\\\3\2\2\2\\^\3\2\2" +
+ "\2]_\t\3\2\2^]\3\2\2\2_`\3\2\2\2`^\3\2\2\2`a\3\2\2\2a \3\2\2\2bc\5\37" +
+ "\20\2cg\5\21\t\2df\t\3\2\2ed\3\2\2\2fi\3\2\2\2ge\3\2\2\2gh\3\2\2\2hm\3" +
+ "\2\2\2ig\3\2\2\2jk\5\23\n\2kl\5\37\20\2ln\3\2\2\2mj\3\2\2\2mn\3\2\2\2" +
+ "n\"\3\2\2\2oq\t\4\2\2pr\t\5\2\2qp\3\2\2\2rs\3\2\2\2sq\3\2\2\2st\3\2\2" +
+ "\2t$\3\2\2\2uv\7\17\2\2vy\7\f\2\2wy\t\6\2\2xu\3\2\2\2xw\3\2\2\2y&\3\2" +
+ "\2\2z{\7>\2\2{(\3\2\2\2|~\t\7\2\2}|\3\2\2\2~\177\3\2\2\2\177}\3\2\2\2" +
+ "\177\u0080\3\2\2\2\u0080\u0081\3\2\2\2\u0081\u0082\b\25\2\2\u0082*\3\2" +
+ "\2\2\n\2[`gmsx\177\3\b\2\2";
+
+ /** ATN. */
+ public static final ATN _ATN =
+ new ATNDeserializer().deserialize(_serializedATN.toCharArray());
+
+ /** */
+ static {
+ _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
+ for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
+ _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ae29fca/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelListener.java
----------------------------------------------------------------------
diff --git a/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelListener.java b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelListener.java
new file mode 100644
index 0000000..c0ad15a
--- /dev/null
+++ b/modules/ml/xgboost-model-parser/src/main/java/org/apache/ignite/ml/xgboost/parser/XGBoostModelListener.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.ml.xgboost.parser;
+
+import org.antlr.v4.runtime.tree.ParseTreeListener;
+
+/**
+ * This interface defines a complete listener for a parse tree produced by
+ * {@link XGBoostModelParser}.
+ */
+public interface XGBoostModelListener extends ParseTreeListener {
+ /**
+ * Enter a parse tree produced by {@link XGBoostModelParser#xgValue}.
+ * @param ctx the parse tree
+ */
+ public void enterXgValue(XGBoostModelParser.XgValueContext ctx);
+
+ /**
+ * Exit a parse tree produced by {@link XGBoostModelParser#xgValue}.
+ * @param ctx the parse tree
+ */
+ public void exitXgValue(XGBoostModelParser.XgValueContext ctx);
+
+ /**
+ * Enter a parse tree produced by {@link XGBoostModelParser#xgHeader}.
+ * @param ctx the parse tree
+ */
+ public void enterXgHeader(XGBoostModelParser.XgHeaderContext ctx);
+
+ /**
+ * Exit a parse tree produced by {@link XGBoostModelParser#xgHeader}.
+ * @param ctx the parse tree
+ */
+ public void exitXgHeader(XGBoostModelParser.XgHeaderContext ctx);
+
+ /**
+ * Enter a parse tree produced by {@link XGBoostModelParser#xgNode}.
+ * @param ctx the parse tree
+ */
+ public void enterXgNode(XGBoostModelParser.XgNodeContext ctx);
+
+ /**
+ * Exit a parse tree produced by {@link XGBoostModelParser#xgNode}.
+ * @param ctx the parse tree
+ */
+ public void exitXgNode(XGBoostModelParser.XgNodeContext ctx);
+
+ /**
+ * Enter a parse tree produced by {@link XGBoostModelParser#xgLeaf}.
+ * @param ctx the parse tree
+ */
+ public void enterXgLeaf(XGBoostModelParser.XgLeafContext ctx);
+
+ /**
+ * Exit a parse tree produced by {@link XGBoostModelParser#xgLeaf}.
+ * @param ctx the parse tree
+ */
+ public void exitXgLeaf(XGBoostModelParser.XgLeafContext ctx);
+
+ /**
+ * Enter a parse tree produced by {@link XGBoostModelParser#xgTree}.
+ * @param ctx the parse tree
+ */
+ public void enterXgTree(XGBoostModelParser.XgTreeContext ctx);
+
+ /**
+ * Exit a parse tree produced by {@link XGBoostModelParser#xgTree}.
+ * @param ctx the parse tree
+ */
+ public void exitXgTree(XGBoostModelParser.XgTreeContext ctx);
+
+ /**
+ * Enter a parse tree produced by {@link XGBoostModelParser#xgModel}.
+ * @param ctx the parse tree
+ */
+ public void enterXgModel(XGBoostModelParser.XgModelContext ctx);
+
+ /**
+ * Exit a parse tree produced by {@link XGBoostModelParser#xgModel}.
+ * @param ctx the parse tree
+ */
+ public void exitXgModel(XGBoostModelParser.XgModelContext ctx);
+}
\ No newline at end of file