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
