nlptoolkit-classification 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/README.md +1 -0
  2. package/dist/Attribute/DiscreteAttribute.d.ts +1 -1
  3. package/dist/Attribute/DiscreteAttribute.js.map +1 -1
  4. package/dist/Attribute/DiscreteIndexedAttribute.d.ts +2 -2
  5. package/dist/DataSet/DataDefinition.d.ts +11 -0
  6. package/dist/DataSet/DataDefinition.js +11 -0
  7. package/dist/DataSet/DataDefinition.js.map +1 -1
  8. package/dist/Experiment/BootstrapRun.js +2 -2
  9. package/dist/Experiment/BootstrapRun.js.map +1 -1
  10. package/dist/Experiment/Experiment.d.ts +7 -7
  11. package/dist/Experiment/Experiment.js +6 -6
  12. package/dist/Experiment/Experiment.js.map +1 -1
  13. package/dist/Experiment/KFoldRun.d.ts +17 -2
  14. package/dist/Experiment/KFoldRun.js +19 -4
  15. package/dist/Experiment/KFoldRun.js.map +1 -1
  16. package/dist/Experiment/KFoldRunSeparateTest.d.ts +13 -2
  17. package/dist/Experiment/KFoldRunSeparateTest.js +15 -4
  18. package/dist/Experiment/KFoldRunSeparateTest.js.map +1 -1
  19. package/dist/Experiment/MxKFoldRun.js +1 -1
  20. package/dist/Experiment/MxKFoldRun.js.map +1 -1
  21. package/dist/Experiment/MxKFoldRunSeparateTest.js +1 -1
  22. package/dist/Experiment/MxKFoldRunSeparateTest.js.map +1 -1
  23. package/dist/Experiment/SingleRunWithK.d.ts +18 -3
  24. package/dist/Experiment/SingleRunWithK.js +18 -3
  25. package/dist/Experiment/SingleRunWithK.js.map +1 -1
  26. package/dist/Experiment/StratifiedKFoldRun.js +1 -1
  27. package/dist/Experiment/StratifiedKFoldRun.js.map +1 -1
  28. package/dist/Experiment/StratifiedKFoldRunSeparateTest.js +1 -1
  29. package/dist/Experiment/StratifiedKFoldRunSeparateTest.js.map +1 -1
  30. package/dist/Experiment/StratifiedMxKFoldRun.js +1 -1
  31. package/dist/Experiment/StratifiedMxKFoldRun.js.map +1 -1
  32. package/dist/Experiment/StratifiedMxKFoldRunSeparateTest.js +3 -3
  33. package/dist/Experiment/StratifiedMxKFoldRunSeparateTest.js.map +1 -1
  34. package/dist/Experiment/StratifiedSingleRunWithK.js +1 -1
  35. package/dist/Experiment/StratifiedSingleRunWithK.js.map +1 -1
  36. package/dist/Filter/LaryFilter.d.ts +1 -1
  37. package/dist/Filter/LaryFilter.js +1 -1
  38. package/dist/Filter/TrainedFeatureFilter.d.ts +1 -1
  39. package/dist/Filter/TrainedFeatureFilter.js +1 -1
  40. package/dist/InstanceList/Partition.d.ts +45 -0
  41. package/dist/InstanceList/Partition.js +125 -70
  42. package/dist/InstanceList/Partition.js.map +1 -1
  43. package/dist/Model/DecisionTree/DecisionCondition.d.ts +8 -0
  44. package/dist/Model/DecisionTree/DecisionCondition.js +8 -0
  45. package/dist/Model/DecisionTree/DecisionCondition.js.map +1 -1
  46. package/dist/Model/DecisionTree/DecisionNode.d.ts +39 -1
  47. package/dist/Model/DecisionTree/DecisionNode.js +64 -22
  48. package/dist/Model/DecisionTree/DecisionNode.js.map +1 -1
  49. package/dist/Model/DecisionTree/DecisionStump.d.ts +17 -0
  50. package/dist/{Classifier/C45Stump.js → Model/DecisionTree/DecisionStump.js} +13 -10
  51. package/dist/Model/DecisionTree/DecisionStump.js.map +1 -0
  52. package/dist/Model/DecisionTree/DecisionTree.d.ts +24 -9
  53. package/dist/Model/DecisionTree/DecisionTree.js +39 -16
  54. package/dist/Model/DecisionTree/DecisionTree.js.map +1 -1
  55. package/dist/Model/DummyModel.d.ts +28 -3
  56. package/dist/Model/DummyModel.js +36 -23
  57. package/dist/Model/DummyModel.js.map +1 -1
  58. package/dist/{Classifier/Bagging.d.ts → Model/Ensemble/BaggingModel.d.ts} +8 -4
  59. package/dist/{Classifier/Bagging.js → Model/Ensemble/BaggingModel.js} +16 -14
  60. package/dist/Model/Ensemble/BaggingModel.js.map +1 -0
  61. package/dist/{Classifier/RandomForest.d.ts → Model/Ensemble/RandomForestModel.d.ts} +8 -4
  62. package/dist/{Classifier/RandomForest.js → Model/Ensemble/RandomForestModel.js} +16 -14
  63. package/dist/Model/Ensemble/RandomForestModel.js.map +1 -0
  64. package/dist/Model/Ensemble/TreeEnsembleModel.d.ts +32 -0
  65. package/dist/Model/{TreeEnsembleModel.js → Ensemble/TreeEnsembleModel.js} +23 -17
  66. package/dist/Model/Ensemble/TreeEnsembleModel.js.map +1 -0
  67. package/dist/Model/Model.d.ts +52 -0
  68. package/dist/Model/Model.js +84 -1
  69. package/dist/Model/Model.js.map +1 -1
  70. package/dist/Model/NeuralNetwork/DeepNetworkModel.d.ts +47 -0
  71. package/dist/Model/{DeepNetworkModel.js → NeuralNetwork/DeepNetworkModel.js} +55 -55
  72. package/dist/Model/NeuralNetwork/DeepNetworkModel.js.map +1 -0
  73. package/dist/Model/NeuralNetwork/LinearPerceptronModel.d.ts +31 -0
  74. package/dist/Model/NeuralNetwork/LinearPerceptronModel.js +84 -0
  75. package/dist/Model/NeuralNetwork/LinearPerceptronModel.js.map +1 -0
  76. package/dist/Model/NeuralNetwork/MultiLayerPerceptronModel.d.ts +39 -0
  77. package/dist/Model/{MultiLayerPerceptronModel.js → NeuralNetwork/MultiLayerPerceptronModel.js} +41 -37
  78. package/dist/Model/NeuralNetwork/MultiLayerPerceptronModel.js.map +1 -0
  79. package/dist/Model/{NeuralNetworkModel.d.ts → NeuralNetwork/NeuralNetworkModel.d.ts} +19 -5
  80. package/dist/Model/{NeuralNetworkModel.js → NeuralNetwork/NeuralNetworkModel.js} +19 -6
  81. package/dist/Model/NeuralNetwork/NeuralNetworkModel.js.map +1 -0
  82. package/dist/Model/{KnnInstance.d.ts → NonParametric/KnnInstance.d.ts} +1 -1
  83. package/dist/Model/NonParametric/KnnInstance.js.map +1 -0
  84. package/dist/Model/{KnnModel.d.ts → NonParametric/KnnModel.d.ts} +30 -6
  85. package/dist/Model/{KnnModel.js → NonParametric/KnnModel.js} +42 -19
  86. package/dist/Model/NonParametric/KnnModel.js.map +1 -0
  87. package/dist/Model/{GaussianModel.d.ts → Parametric/GaussianModel.d.ts} +20 -2
  88. package/dist/Model/{GaussianModel.js → Parametric/GaussianModel.js} +21 -3
  89. package/dist/Model/Parametric/GaussianModel.js.map +1 -0
  90. package/dist/Model/Parametric/KMeansModel.d.ts +36 -0
  91. package/dist/Model/Parametric/KMeansModel.js +73 -0
  92. package/dist/Model/Parametric/KMeansModel.js.map +1 -0
  93. package/dist/Model/Parametric/LdaModel.d.ts +44 -0
  94. package/dist/Model/Parametric/LdaModel.js +98 -0
  95. package/dist/Model/Parametric/LdaModel.js.map +1 -0
  96. package/dist/Model/{NaiveBayesModel.d.ts → Parametric/NaiveBayesModel.d.ts} +30 -10
  97. package/dist/Model/{NaiveBayesModel.js → Parametric/NaiveBayesModel.js} +64 -27
  98. package/dist/Model/Parametric/NaiveBayesModel.js.map +1 -0
  99. package/dist/Model/Parametric/QdaModel.d.ts +30 -0
  100. package/dist/Model/Parametric/QdaModel.js +84 -0
  101. package/dist/Model/Parametric/QdaModel.js.map +1 -0
  102. package/dist/Model/RandomModel.d.ts +32 -2
  103. package/dist/Model/RandomModel.js +48 -16
  104. package/dist/Model/RandomModel.js.map +1 -1
  105. package/dist/Parameter/C45Parameter.d.ts +2 -2
  106. package/dist/Parameter/DeepNetworkParameter.d.ts +2 -2
  107. package/dist/Parameter/KnnParameter.d.ts +1 -1
  108. package/dist/Parameter/LinearPerceptronParameter.d.ts +4 -4
  109. package/dist/Parameter/MultiLayerPerceptronParameter.d.ts +2 -2
  110. package/dist/Parameter/Parameter.d.ts +1 -1
  111. package/dist/Performance/ConfusionMatrix.d.ts +1 -1
  112. package/dist/StatisticalTest/Combined5x2F.d.ts +12 -0
  113. package/dist/StatisticalTest/Combined5x2F.js +12 -0
  114. package/dist/StatisticalTest/Combined5x2F.js.map +1 -1
  115. package/dist/StatisticalTest/Combined5x2t.d.ts +13 -0
  116. package/dist/StatisticalTest/Combined5x2t.js +13 -0
  117. package/dist/StatisticalTest/Combined5x2t.js.map +1 -1
  118. package/dist/StatisticalTest/Paired5x2t.d.ts +12 -0
  119. package/dist/StatisticalTest/Paired5x2t.js +12 -0
  120. package/dist/StatisticalTest/Paired5x2t.js.map +1 -1
  121. package/dist/StatisticalTest/PairedTest.d.ts +12 -0
  122. package/dist/StatisticalTest/PairedTest.js +12 -0
  123. package/dist/StatisticalTest/PairedTest.js.map +1 -1
  124. package/dist/StatisticalTest/Pairedt.d.ts +12 -0
  125. package/dist/StatisticalTest/Pairedt.js +12 -0
  126. package/dist/StatisticalTest/Pairedt.js.map +1 -1
  127. package/dist/StatisticalTest/Sign.d.ts +17 -0
  128. package/dist/StatisticalTest/Sign.js +17 -0
  129. package/dist/StatisticalTest/Sign.js.map +1 -1
  130. package/dist/StatisticalTest/StatisticalTestResult.d.ts +30 -0
  131. package/dist/StatisticalTest/StatisticalTestResult.js +30 -0
  132. package/dist/StatisticalTest/StatisticalTestResult.js.map +1 -1
  133. package/dist/index.d.ts +88 -0
  134. package/dist/index.js +111 -0
  135. package/dist/index.js.map +1 -0
  136. package/models/bagging-bupa.txt +10346 -0
  137. package/models/bagging-car.txt +40752 -0
  138. package/models/bagging-dermatology.txt +2990 -0
  139. package/models/bagging-iris.txt +1332 -0
  140. package/models/bagging-tictactoe.txt +29442 -0
  141. package/models/c45-bupa.txt +3 -0
  142. package/models/c45-car.txt +212 -0
  143. package/models/c45-carIndexed.txt +92 -0
  144. package/models/c45-dermatology.txt +22 -0
  145. package/models/c45-iris.txt +7 -0
  146. package/models/c45-tictactoe.txt +147 -0
  147. package/models/c45-tictactoeIndexed.txt +79 -0
  148. package/models/c45stump-bupa.txt +6 -0
  149. package/models/c45stump-car.txt +11 -0
  150. package/models/c45stump-chess.txt +35 -0
  151. package/models/c45stump-dermatology.txt +11 -0
  152. package/models/c45stump-iris.txt +5 -0
  153. package/models/c45stump-nursery.txt +10 -0
  154. package/models/c45stump-tictactoe.txt +9 -0
  155. package/models/randomforest-bupa.txt +10346 -0
  156. package/models/randomforest-car.txt +40752 -0
  157. package/models/randomforest-carIndexed.txt +15594 -0
  158. package/models/randomforest-dermatology.txt +2990 -0
  159. package/models/randomforest-iris.txt +1332 -0
  160. package/models/randomforest-tictactoe.txt +29442 -0
  161. package/package.json +7 -7
  162. package/source/Attribute/DiscreteAttribute.ts +1 -1
  163. package/source/Attribute/DiscreteIndexedAttribute.ts +2 -2
  164. package/source/DataSet/DataDefinition.ts +11 -0
  165. package/source/Experiment/BootstrapRun.ts +2 -2
  166. package/source/Experiment/Experiment.ts +10 -10
  167. package/source/Experiment/KFoldRun.ts +20 -5
  168. package/source/Experiment/KFoldRunSeparateTest.ts +16 -5
  169. package/source/Experiment/MxKFoldRun.ts +1 -1
  170. package/source/Experiment/MxKFoldRunSeparateTest.ts +1 -1
  171. package/source/Experiment/SingleRunWithK.ts +20 -5
  172. package/source/Experiment/StratifiedKFoldRun.ts +1 -1
  173. package/source/Experiment/StratifiedKFoldRunSeparateTest.ts +1 -1
  174. package/source/Experiment/StratifiedMxKFoldRun.ts +1 -1
  175. package/source/Experiment/StratifiedMxKFoldRunSeparateTest.ts +3 -3
  176. package/source/Experiment/StratifiedSingleRunWithK.ts +1 -1
  177. package/source/Filter/LaryFilter.ts +1 -1
  178. package/source/Filter/TrainedFeatureFilter.ts +1 -1
  179. package/source/InstanceList/Partition.ts +125 -65
  180. package/source/Model/DecisionTree/DecisionCondition.ts +8 -0
  181. package/source/Model/DecisionTree/DecisionNode.ts +65 -22
  182. package/source/Model/DecisionTree/DecisionStump.ts +26 -0
  183. package/source/Model/DecisionTree/DecisionTree.ts +44 -15
  184. package/source/Model/DummyModel.ts +40 -19
  185. package/source/{Classifier/Bagging.ts → Model/Ensemble/BaggingModel.ts} +15 -12
  186. package/source/{Classifier/RandomForest.ts → Model/Ensemble/RandomForestModel.ts} +14 -12
  187. package/source/Model/{TreeEnsembleModel.ts → Ensemble/TreeEnsembleModel.ts} +26 -18
  188. package/source/Model/Model.ts +92 -0
  189. package/source/Model/{DeepNetworkModel.ts → NeuralNetwork/DeepNetworkModel.ts} +59 -56
  190. package/source/Model/NeuralNetwork/LinearPerceptronModel.ts +81 -0
  191. package/source/Model/{MultiLayerPerceptronModel.ts → NeuralNetwork/MultiLayerPerceptronModel.ts} +46 -39
  192. package/source/Model/{NeuralNetworkModel.ts → NeuralNetwork/NeuralNetworkModel.ts} +20 -7
  193. package/source/Model/{KnnInstance.ts → NonParametric/KnnInstance.ts} +1 -1
  194. package/source/Model/{KnnModel.ts → NonParametric/KnnModel.ts} +48 -19
  195. package/source/Model/{GaussianModel.ts → Parametric/GaussianModel.ts} +21 -3
  196. package/source/Model/Parametric/KMeansModel.ts +72 -0
  197. package/source/Model/Parametric/LdaModel.ts +98 -0
  198. package/source/Model/{NaiveBayesModel.ts → Parametric/NaiveBayesModel.ts} +68 -25
  199. package/source/Model/Parametric/QdaModel.ts +83 -0
  200. package/source/Model/RandomModel.ts +54 -16
  201. package/source/Parameter/C45Parameter.ts +2 -2
  202. package/source/Parameter/DeepNetworkParameter.ts +2 -2
  203. package/source/Parameter/KnnParameter.ts +1 -1
  204. package/source/Parameter/LinearPerceptronParameter.ts +4 -4
  205. package/source/Parameter/MultiLayerPerceptronParameter.ts +2 -2
  206. package/source/Parameter/Parameter.ts +1 -1
  207. package/source/Performance/ConfusionMatrix.ts +1 -1
  208. package/source/StatisticalTest/Combined5x2F.ts +12 -0
  209. package/source/StatisticalTest/Combined5x2t.ts +13 -0
  210. package/source/StatisticalTest/Paired5x2t.ts +12 -0
  211. package/source/StatisticalTest/PairedTest.ts +12 -0
  212. package/source/StatisticalTest/Pairedt.ts +12 -0
  213. package/source/StatisticalTest/Sign.ts +17 -0
  214. package/source/StatisticalTest/StatisticalTestResult.ts +30 -0
  215. package/source/index.ts +88 -0
  216. package/source/tsconfig.json +1 -1
  217. package/tests/Classifier/C45Test.ts +2 -2
  218. package/tests/Classifier/DeepNetworkTest.ts +3 -5
  219. package/tests/Classifier/DummyTest.ts +2 -2
  220. package/tests/Classifier/KMeansTest.ts +2 -2
  221. package/tests/Classifier/KnnTest.ts +2 -2
  222. package/tests/Classifier/LdaTest.ts +2 -2
  223. package/tests/Classifier/LinearPerceptronTest.ts +2 -2
  224. package/tests/Classifier/MultiLayerPerceptronTest.ts +2 -3
  225. package/tests/Classifier/NaiveBayesTest.ts +2 -2
  226. package/tests/Classifier/QdaTest.ts +2 -2
  227. package/tests/Classifier/RandomForestTest.ts +2 -2
  228. package/tsconfig.json +1 -2
  229. package/dist/Classifier/Bagging.js.map +0 -1
  230. package/dist/Classifier/C45.d.ts +0 -14
  231. package/dist/Classifier/C45.js +0 -43
  232. package/dist/Classifier/C45.js.map +0 -1
  233. package/dist/Classifier/C45Stump.d.ts +0 -13
  234. package/dist/Classifier/C45Stump.js.map +0 -1
  235. package/dist/Classifier/Classifier.d.ts +0 -40
  236. package/dist/Classifier/Classifier.js +0 -72
  237. package/dist/Classifier/Classifier.js.map +0 -1
  238. package/dist/Classifier/DeepNetwork.d.ts +0 -14
  239. package/dist/Classifier/DeepNetwork.js +0 -34
  240. package/dist/Classifier/DeepNetwork.js.map +0 -1
  241. package/dist/Classifier/Dummy.d.ts +0 -14
  242. package/dist/Classifier/Dummy.js +0 -32
  243. package/dist/Classifier/Dummy.js.map +0 -1
  244. package/dist/Classifier/KMeans.d.ts +0 -13
  245. package/dist/Classifier/KMeans.js +0 -39
  246. package/dist/Classifier/KMeans.js.map +0 -1
  247. package/dist/Classifier/Knn.d.ts +0 -14
  248. package/dist/Classifier/Knn.js +0 -32
  249. package/dist/Classifier/Knn.js.map +0 -1
  250. package/dist/Classifier/Lda.d.ts +0 -13
  251. package/dist/Classifier/Lda.js +0 -55
  252. package/dist/Classifier/Lda.js.map +0 -1
  253. package/dist/Classifier/LinearPerceptron.d.ts +0 -15
  254. package/dist/Classifier/LinearPerceptron.js +0 -35
  255. package/dist/Classifier/LinearPerceptron.js.map +0 -1
  256. package/dist/Classifier/MultiLayerPerceptron.d.ts +0 -15
  257. package/dist/Classifier/MultiLayerPerceptron.js +0 -35
  258. package/dist/Classifier/MultiLayerPerceptron.js.map +0 -1
  259. package/dist/Classifier/NaiveBayes.d.ts +0 -26
  260. package/dist/Classifier/NaiveBayes.js +0 -70
  261. package/dist/Classifier/NaiveBayes.js.map +0 -1
  262. package/dist/Classifier/Qda.d.ts +0 -13
  263. package/dist/Classifier/Qda.js +0 -53
  264. package/dist/Classifier/Qda.js.map +0 -1
  265. package/dist/Classifier/RandomClassifier.d.ts +0 -13
  266. package/dist/Classifier/RandomClassifier.js +0 -35
  267. package/dist/Classifier/RandomClassifier.js.map +0 -1
  268. package/dist/Classifier/RandomForest.js.map +0 -1
  269. package/dist/Model/DeepNetworkModel.d.ts +0 -45
  270. package/dist/Model/DeepNetworkModel.js.map +0 -1
  271. package/dist/Model/GaussianModel.js.map +0 -1
  272. package/dist/Model/KMeansModel.d.ts +0 -28
  273. package/dist/Model/KMeansModel.js +0 -61
  274. package/dist/Model/KMeansModel.js.map +0 -1
  275. package/dist/Model/KnnInstance.js.map +0 -1
  276. package/dist/Model/KnnModel.js.map +0 -1
  277. package/dist/Model/LdaModel.d.ts +0 -28
  278. package/dist/Model/LdaModel.js +0 -67
  279. package/dist/Model/LdaModel.js.map +0 -1
  280. package/dist/Model/LinearPerceptronModel.d.ts +0 -24
  281. package/dist/Model/LinearPerceptronModel.js +0 -91
  282. package/dist/Model/LinearPerceptronModel.js.map +0 -1
  283. package/dist/Model/MultiLayerPerceptronModel.d.ts +0 -33
  284. package/dist/Model/MultiLayerPerceptronModel.js.map +0 -1
  285. package/dist/Model/NaiveBayesModel.js.map +0 -1
  286. package/dist/Model/NeuralNetworkModel.js.map +0 -1
  287. package/dist/Model/QdaModel.d.ts +0 -27
  288. package/dist/Model/QdaModel.js +0 -63
  289. package/dist/Model/QdaModel.js.map +0 -1
  290. package/dist/Model/TreeEnsembleModel.d.ts +0 -22
  291. package/dist/Model/TreeEnsembleModel.js.map +0 -1
  292. package/index.js +0 -100
  293. package/source/Classifier/C45.ts +0 -34
  294. package/source/Classifier/C45Stump.ts +0 -23
  295. package/source/Classifier/Classifier.ts +0 -72
  296. package/source/Classifier/DeepNetwork.ts +0 -26
  297. package/source/Classifier/Dummy.ts +0 -23
  298. package/source/Classifier/KMeans.ts +0 -30
  299. package/source/Classifier/Knn.ts +0 -25
  300. package/source/Classifier/Lda.ts +0 -47
  301. package/source/Classifier/LinearPerceptron.ts +0 -27
  302. package/source/Classifier/MultiLayerPerceptron.ts +0 -27
  303. package/source/Classifier/NaiveBayes.ts +0 -66
  304. package/source/Classifier/Qda.ts +0 -46
  305. package/source/Classifier/RandomClassifier.ts +0 -26
  306. package/source/Model/KMeansModel.ts +0 -56
  307. package/source/Model/LdaModel.ts +0 -62
  308. package/source/Model/LinearPerceptronModel.ts +0 -83
  309. package/source/Model/QdaModel.ts +0 -57
  310. /package/dist/Model/{KnnInstance.js → NonParametric/KnnInstance.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionNode.js","sourceRoot":"","sources":["../../../source/Model/DecisionTree/DecisionNode.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,kEAA6D;IAC7D,2DAAsD;IAEtD,oCAA+B;IAC/B,uFAAkF;IAClF,yEAAoE;IACpE,6EAAwE;IACxE,oFAA+E;IAC/E,4DAAuD;IAEvD,wEAAmE;IACnE,kEAA6D;IAC7D,oEAA+D;IAE/D,MAAa,YAAY;QAuIrB;;;;;;;;;;;;;;;;;;;;;;WAsBG;QACH,YAAY,IAAiC,EAAE,SAA6B,EAAE,SAAiC,EAAE,OAAiB;YA5JlI,aAAQ,GAAwB,SAAS,CAAA;YACjC,YAAO,GAAW,YAAY,CAAC;YAC/B,SAAI,GAAkB,SAAS,CAAA;YAC/B,eAAU,GAAY,SAAS,CAAA;YACvC,SAAI,GAAY,KAAK,CAAA;YACb,cAAS,GAAsB,SAAS,CAAA;YAwJ5C,IAAI,IAAI,YAAY,2BAAY,IAAI,CAAC,SAAS,YAAY,qCAAiB,IAAI,SAAS,IAAI,SAAS,CAAC,EAAC;gBACnG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;aACzD;iBAAM;gBACH,IAAI,IAAI,YAAY,2BAAY,EAAC;oBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;iBAC1B;aACJ;QACL,CAAC;QA7JD,YAAY,CAAC,IAAkB,EAAE,SAAsC,EAAE,SAAiC,EAAE,OAAiB;YACzH,IAAI,aAAa,GAAG,CAAC,CAAC,CAAA;YACtB,IAAI,cAAc,GAAG,CAAC,CAAA;YACtB,IAAI,SAAS,YAAY,qCAAiB,EAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC9B;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,WAAW,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChD,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzB,OAAO;aACV;YACD,IAAI,OAAO,IAAI,SAAS,IAAI,IAAI,EAAE;gBAC9B,OAAO;aACV;YACD,IAAI,SAAS,CAAA;YACb,IAAI,IAAI,CAAA;YACR,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC5F,SAAS,GAAG,yBAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;gBACpF,IAAI,GAAG,SAAS,CAAC,sBAAsB,EAAE,CAAC;aAC7C;iBAAM;gBACH,SAAS,GAAG,IAAI,KAAK,EAAU,CAAC;gBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;oBAClD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACrB;gBACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;aACtC;YACD,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjD,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,mDAAwB,EAAE;oBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAA8B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;wBAChG,IAAI,YAAY,GAAG,IAAI,CAAC,yCAAyC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBAC5E,IAAI,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;4BAC3B,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;4BACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;4BACxI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE;gCACtC,WAAW,GAAG,OAAO,CAAC;gCACtB,aAAa,GAAG,KAAK,CAAC;gCACtB,cAAc,GAAG,CAAC,CAAC;6BACtB;4BACD,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;yBACnD;qBACJ;iBACJ;qBAAM;oBACH,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,qCAAiB,EAAE;wBAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;wBACtD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE;4BACtC,WAAW,GAAG,OAAO,CAAC;4BACtB,aAAa,GAAG,KAAK,CAAC;yBACzB;qBACJ;yBAAM;wBACH,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,yCAAmB,EAAE;4BAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACjB,IAAI,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC;4BAC7C,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BAChD,IAAI,iBAAiB,GAAG,IAAI,2CAAoB,EAAE,CAAC;4BACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;gCAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gCAC3B,IAAI,CAAC,IAAI,CAAC,EAAE;oCACR,aAAa,GAAyB,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,QAAQ,EAAE,CAAC;iCAClF;qCAAM;oCACH,IAA0B,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,QAAQ,EAAE,IAAI,aAAa,EAAE;wCACjF,IAAI,UAAU,GAAG,CAAC,aAAa,GAAyB,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;wCACtG,aAAa,GAAyB,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,QAAQ,EAAE,CAAC;wCAC/E,IAAI,OAAO,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;wCAChK,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE;4CACtC,WAAW,GAAG,OAAO,CAAC;4CACtB,cAAc,GAAG,UAAU,CAAC;4CAC5B,aAAa,GAAG,KAAK,CAAC;yCACzB;qCACJ;iCACJ;gCACD,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;gCACtD,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;6BACvD;yBACJ;qBACJ;iBACJ;aACJ;YACD,IAAI,aAAa,IAAI,CAAC,CAAC,EAAE;gBACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,mDAAwB,EAAE;oBAC7E,IAAI,CAAC,gCAAgC,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;iBAC5F;qBAAM;oBACH,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,qCAAiB,EAAE;wBACtE,IAAI,CAAC,yBAAyB,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;qBACrE;yBAAM;wBACH,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,yCAAmB,EAAE;4BACxE,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;yBACvF;qBACJ;iBACJ;aACJ;QACL,CAAC;QAED,YAAY,CAAC,QAAsB;YAC/B,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC1C,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAC;gBACjB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAC;oBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,qCAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC3G;qBAAM;oBACH,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAC;wBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,mDAAwB,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;qBAC5I;yBAAM;wBACH,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,yCAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;qBACzH;iBACJ;aACJ;iBAAM;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;aACxB;YACD,IAAI,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YACpD,IAAI,gBAAgB,IAAI,CAAC,EAAC;gBACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAgB,CAAA;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAC;oBACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;iBACjD;aACJ;iBAAM;gBACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;gBAChB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;aACxC;QACL,CAAC;QAmCD;;;;;;WAMG;QACK,2BAA2B,CAAC,cAAsB;YACtD,IAAI,GAAG,GAAG,GAAG,CAAC;YACd,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;YACzE,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;gBACpC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;aAC9E;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QAED;;;;;;;;WAQG;QACK,gCAAgC,CAAC,cAAsB,EAAE,cAAsB,EAAE,SAAgC,EAAE,OAAgB;YACvI,IAAI,YAAY,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAgB,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,qCAAiB,CAAC,cAAc,EAAE,IAAI,mDAAwB,CAAC,EAAE,EAAE,cAAc,EAA8B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YACjQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,qCAAiB,CAAC,cAAc,EAAE,IAAI,mDAAwB,CAAC,EAAE,EAAE,CAAC,CAAC,EAA8B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACzP,CAAC;QAED;;;;;;;WAOG;QACK,yBAAyB,CAAC,cAAsB,EAAE,SAAgC,EAAE,OAAgB;YACxG,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,YAAY,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAgB,CAAC;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,qCAAiB,CAAC,cAAc,EAAE,IAAI,qCAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;aAC7J;QACL,CAAC;QAED;;;;;;;;WAQG;QACK,2BAA2B,CAAC,cAAsB,EAAE,UAAkB,EAAE,SAAgC,EAAE,OAAgB;YAC9H,IAAI,YAAY,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;YACpF,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAgB,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,qCAAiB,CAAC,cAAc,EAAE,IAAI,yCAAmB,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/J,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,qCAAiB,CAAC,cAAc,EAAE,IAAI,yCAAmB,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACnK,CAAC;QAED;;;;;;WAMG;QACH,OAAO,CAAC,QAAkB;YACtB,IAAI,QAAQ,YAAY,qCAAiB,EAAE;gBACvC,IAAI,mBAAmB,GAAwB,QAAS,CAAC,sBAAsB,EAAE,CAAC;gBAClF,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACjD,IAAI,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBAClE,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,OAAO,cAAc,CAAC;iBACzB;qBAAM;oBACH,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;4BAClC,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAC7C,IAAI,eAAe,IAAI,SAAS,EAAE;gCAC9B,OAAO,eAAe,CAAC;6BAC1B;iCAAM;gCACH,OAAO,cAAc,CAAC;6BACzB;yBACJ;qBACJ;oBACD,OAAO,cAAc,CAAC;iBACzB;aACJ;iBAAM;gBACH,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,OAAO,IAAI,CAAC,UAAU,CAAC;iBAC1B;qBAAM;oBACH,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;4BAClC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;yBACjC;qBACJ;oBACD,OAAO,IAAI,CAAC,UAAU,CAAC;iBAC1B;aACJ;QACL,CAAC;QAED,8BAA8B,CAAC,QAAkB;YAC7C,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,0BAA0B,EAAE,CAAC;aACrE;iBAAM;gBACH,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;oBAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAClC,OAAO,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;qBACxD;iBACJ;gBACD,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,0BAA0B,EAAE,CAAC;aACrE;QACL,CAAC;KACJ;IA9RD,oCA8RC"}
1
+ {"version":3,"file":"DecisionNode.js","sourceRoot":"","sources":["../../../source/Model/DecisionTree/DecisionNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { DecisionTree } from "./DecisionTree";
2
+ import { InstanceList } from "../../InstanceList/InstanceList";
3
+ import { Parameter } from "../../Parameter/Parameter";
4
+ export declare class DecisionStump extends DecisionTree {
5
+ /**
6
+ * Training algorithm for C4.5 Stump univariate decision tree classifier.
7
+ *
8
+ * @param trainSet Training data given to the algorithm.
9
+ * @param parameters -
10
+ */
11
+ train(trainSet: InstanceList, parameters: Parameter): void;
12
+ /**
13
+ * Loads the decision tree model from an input file.
14
+ * @param fileName File name of the decision tree model.
15
+ */
16
+ loadModel(fileName: string): void;
17
+ }
@@ -4,16 +4,15 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./Classifier", "../Model/DecisionTree/DecisionTree", "../Model/DecisionTree/DecisionNode"], factory);
7
+ define(["require", "exports", "./DecisionTree", "./DecisionNode"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.C45Stump = void 0;
13
- const Classifier_1 = require("./Classifier");
14
- const DecisionTree_1 = require("../Model/DecisionTree/DecisionTree");
15
- const DecisionNode_1 = require("../Model/DecisionTree/DecisionNode");
16
- class C45Stump extends Classifier_1.Classifier {
12
+ exports.DecisionStump = void 0;
13
+ const DecisionTree_1 = require("./DecisionTree");
14
+ const DecisionNode_1 = require("./DecisionNode");
15
+ class DecisionStump extends DecisionTree_1.DecisionTree {
17
16
  /**
18
17
  * Training algorithm for C4.5 Stump univariate decision tree classifier.
19
18
  *
@@ -21,12 +20,16 @@
21
20
  * @param parameters -
22
21
  */
23
22
  train(trainSet, parameters) {
24
- this.model = new DecisionTree_1.DecisionTree(new DecisionNode_1.DecisionNode(trainSet, undefined, undefined, true));
23
+ this.root = new DecisionNode_1.DecisionNode(trainSet, undefined, undefined, true);
25
24
  }
25
+ /**
26
+ * Loads the decision tree model from an input file.
27
+ * @param fileName File name of the decision tree model.
28
+ */
26
29
  loadModel(fileName) {
27
- this.model = new DecisionTree_1.DecisionTree(fileName);
30
+ this.constructor2(fileName);
28
31
  }
29
32
  }
30
- exports.C45Stump = C45Stump;
33
+ exports.DecisionStump = DecisionStump;
31
34
  });
32
- //# sourceMappingURL=C45Stump.js.map
35
+ //# sourceMappingURL=DecisionStump.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecisionStump.js","sourceRoot":"","sources":["../../../source/Model/DecisionTree/DecisionStump.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iDAA4C;IAG5C,iDAA4C;IAE5C,MAAa,aAAc,SAAQ,2BAAY;QAE3C;;;;;WAKG;QACH,KAAK,CAAC,QAAsB,EAAE,UAAqB;YAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC;QAED;;;WAGG;QACH,SAAS,CAAC,QAAgB;YACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;KAEJ;IApBD,sCAoBC"}
@@ -2,22 +2,24 @@ import { ValidatedModel } from "../ValidatedModel";
2
2
  import { DecisionNode } from "./DecisionNode";
3
3
  import { Instance } from "../../Instance/Instance";
4
4
  import { InstanceList } from "../../InstanceList/InstanceList";
5
+ import { Parameter } from "../../Parameter/Parameter";
5
6
  export declare class DecisionTree extends ValidatedModel {
6
- private readonly root;
7
+ protected root: DecisionNode;
8
+ constructor2(fileName: string): void;
9
+ constructor(root?: DecisionNode);
7
10
  /**
8
- * Constructor that sets root node of the decision tree.
9
- *
10
- * @param rootOrFileName DecisionNode type input or fileName
11
- */
12
- constructor(rootOrFileName: DecisionNode | string);
13
- /**
14
- * The predict method performs prediction on the root node of given instance, and if it is null, it returns the possible class labels.
15
- * Otherwise it returns the returned class labels.
11
+ * The predict method performs prediction on the root node of given instance, and if it is null, it returns the
12
+ * possible class labels. Otherwise, it returns the returned class labels.
16
13
  *
17
14
  * @param instance Instance make prediction.
18
15
  * @return Possible class labels.
19
16
  */
20
17
  predict(instance: Instance): string;
18
+ /**
19
+ * Calculates the posterior probability distribution for the given instance according to Decision tree model.
20
+ * @param instance Instance for which posterior probability distribution is calculated.
21
+ * @return Posterior probability distribution for the given instance.
22
+ */
21
23
  predictProbability(instance: Instance): Map<string, number>;
22
24
  saveTxt(fileName: string): void;
23
25
  /**
@@ -35,4 +37,17 @@ export declare class DecisionTree extends ValidatedModel {
35
37
  * @param pruneSet {@link InstanceList} to perform pruning.
36
38
  */
37
39
  prune(pruneSet: InstanceList): void;
40
+ /**
41
+ * Training algorithm for C4.5 univariate decision tree classifier. 20 percent of the data are left aside for pruning
42
+ * 80 percent of the data is used for constructing the tree.
43
+ *
44
+ * @param trainSet Training data given to the algorithm.
45
+ * @param parameters -
46
+ */
47
+ train(trainSet: InstanceList, parameters: Parameter): void;
48
+ /**
49
+ * Loads the decision tree model from an input file.
50
+ * @param fileName File name of the decision tree model.
51
+ */
52
+ loadModel(fileName: string): void;
38
53
  }
@@ -4,7 +4,7 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../ValidatedModel", "./DecisionNode", "../../Instance/CompositeInstance", "nlptoolkit-util/dist/FileContents"], factory);
7
+ define(["require", "exports", "../ValidatedModel", "./DecisionNode", "../../Instance/CompositeInstance", "nlptoolkit-util/dist/FileContents", "../../InstanceList/Partition"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
@@ -14,25 +14,19 @@
14
14
  const DecisionNode_1 = require("./DecisionNode");
15
15
  const CompositeInstance_1 = require("../../Instance/CompositeInstance");
16
16
  const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
17
+ const Partition_1 = require("../../InstanceList/Partition");
17
18
  class DecisionTree extends ValidatedModel_1.ValidatedModel {
18
- /**
19
- * Constructor that sets root node of the decision tree.
20
- *
21
- * @param rootOrFileName DecisionNode type input or fileName
22
- */
23
- constructor(rootOrFileName) {
19
+ constructor(root) {
24
20
  super();
25
- if (rootOrFileName instanceof DecisionNode_1.DecisionNode) {
26
- this.root = rootOrFileName;
27
- }
28
- else {
29
- let contents = new FileContents_1.FileContents(rootOrFileName);
30
- this.root = new DecisionNode_1.DecisionNode(contents);
31
- }
21
+ this.root = root;
22
+ }
23
+ constructor2(fileName) {
24
+ let contents = new FileContents_1.FileContents(fileName);
25
+ this.root = new DecisionNode_1.DecisionNode(contents);
32
26
  }
33
27
  /**
34
- * The predict method performs prediction on the root node of given instance, and if it is null, it returns the possible class labels.
35
- * Otherwise it returns the returned class labels.
28
+ * The predict method performs prediction on the root node of given instance, and if it is null, it returns the
29
+ * possible class labels. Otherwise, it returns the returned class labels.
36
30
  *
37
31
  * @param instance Instance make prediction.
38
32
  * @return Possible class labels.
@@ -44,6 +38,11 @@
44
38
  }
45
39
  return predictedClass;
46
40
  }
41
+ /**
42
+ * Calculates the posterior probability distribution for the given instance according to Decision tree model.
43
+ * @param instance Instance for which posterior probability distribution is calculated.
44
+ * @return Posterior probability distribution for the given instance.
45
+ */
47
46
  predictProbability(instance) {
48
47
  return this.root.predictProbabilityDistribution(instance);
49
48
  }
@@ -79,6 +78,30 @@
79
78
  prune(pruneSet) {
80
79
  this.pruneNode(this.root, pruneSet);
81
80
  }
81
+ /**
82
+ * Training algorithm for C4.5 univariate decision tree classifier. 20 percent of the data are left aside for pruning
83
+ * 80 percent of the data is used for constructing the tree.
84
+ *
85
+ * @param trainSet Training data given to the algorithm.
86
+ * @param parameters -
87
+ */
88
+ train(trainSet, parameters) {
89
+ if (parameters.isPrune()) {
90
+ let partition = new Partition_1.Partition(trainSet, parameters.getCrossValidationRatio(), true);
91
+ this.root = new DecisionNode_1.DecisionNode(partition.get(1), undefined, undefined, false);
92
+ this.prune(partition.get(0));
93
+ }
94
+ else {
95
+ this.root = new DecisionNode_1.DecisionNode(trainSet, undefined, undefined, false);
96
+ }
97
+ }
98
+ /**
99
+ * Loads the decision tree model from an input file.
100
+ * @param fileName File name of the decision tree model.
101
+ */
102
+ loadModel(fileName) {
103
+ this.constructor2(fileName);
104
+ }
82
105
  }
83
106
  exports.DecisionTree = DecisionTree;
84
107
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionTree.js","sourceRoot":"","sources":["../../../source/Model/DecisionTree/DecisionTree.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,sDAAiD;IACjD,iDAA4C;IAE5C,wEAAmE;IAEnE,oEAA+D;IAE/D,MAAa,YAAa,SAAQ,+BAAc;QAI5C;;;;WAIG;QACH,YAAY,cAAqC;YAC7C,KAAK,EAAE,CAAC;YACR,IAAI,cAAc,YAAY,2BAAY,EAAC;gBACvC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;aAC7B;iBAAM;gBACH,IAAI,QAAQ,GAAG,IAAI,2BAAY,CAAC,cAAc,CAAC,CAAA;gBAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;aACzC;QACL,CAAC;QAED;;;;;;WAMG;QACH,OAAO,CAAC,QAAkB;YACtB,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,YAAY,qCAAiB,CAAC,CAAC,EAAE;gBACvE,cAAc,GAAwB,QAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;aAC/E;YACD,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,kBAAkB,CAAC,QAAkB;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAA;QAC7D,CAAC;QAED,OAAO,CAAC,QAAgB;QACxB,CAAC;QAED;;;;;;;WAOG;QACH,SAAS,CAAC,IAAkB,EAAE,QAAsB;YAChD,IAAI,IAAI,CAAC,IAAI,EAAC;gBACV,OAAO;aACV;YACD,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE;gBAC5C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;oBAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;iBACnC;aACJ;QACL,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,QAAsB;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;KACJ;IAxED,oCAwEC"}
1
+ {"version":3,"file":"DecisionTree.js","sourceRoot":"","sources":["../../../source/Model/DecisionTree/DecisionTree.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,sDAAiD;IACjD,iDAA4C;IAE5C,wEAAmE;IAEnE,oEAA+D;IAG/D,4DAAuD;IAEvD,MAAa,YAAa,SAAQ,+BAAc;QAS5C,YAAY,IAAmB;YAC3B,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;QARD,YAAY,CAAC,QAAgB;YACzB,IAAI,QAAQ,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;QAC1C,CAAC;QAOD;;;;;;WAMG;QACH,OAAO,CAAC,QAAkB;YACtB,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,YAAY,qCAAiB,CAAC,CAAC,EAAE;gBACvE,cAAc,GAAwB,QAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;aAC/E;YACD,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED;;;;WAIG;QACH,kBAAkB,CAAC,QAAkB;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAA;QAC7D,CAAC;QAED,OAAO,CAAC,QAAgB;QACxB,CAAC;QAED;;;;;;;WAOG;QACH,SAAS,CAAC,IAAkB,EAAE,QAAsB;YAChD,IAAI,IAAI,CAAC,IAAI,EAAC;gBACV,OAAO;aACV;YACD,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE;gBAC5C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;oBAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;iBACnC;aACJ;QACL,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,QAAsB;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,QAAsB,EAAE,UAAqB;YAC/C,IAAoB,UAAW,CAAC,OAAO,EAAE,EAAE;gBACvC,IAAI,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,EAAkB,UAAW,CAAC,uBAAuB,EAAE,EAAE,IAAI,CAAC,CAAC;gBACrG,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC;iBAAM;gBACH,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;aACvE;QACL,CAAC;QAED;;;WAGG;QACH,SAAS,CAAC,QAAgB;YACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;KAEJ;IAlGD,oCAkGC"}
@@ -1,14 +1,21 @@
1
1
  import { Model } from "./Model";
2
2
  import { Instance } from "../Instance/Instance";
3
3
  import { InstanceList } from "../InstanceList/InstanceList";
4
+ import { Parameter } from "../Parameter/Parameter";
4
5
  export declare class DummyModel extends Model {
5
6
  private distribution;
6
7
  /**
7
- * Constructor which sets the distribution using the given {@link InstanceList}.
8
+ * Training algorithm for the dummy classifier. Actually dummy classifier returns the maximum occurring class in
9
+ * the training data, there is no training. Sets the distribution using the given {@link InstanceList}.
8
10
  *
9
- * @param trainSet {@link InstanceList} which is used to get the class distribution.
11
+ * @param trainSet Training data given to the algorithm.
10
12
  */
11
- constructor(trainSet: InstanceList | string);
13
+ constructor1(trainSet: InstanceList): void;
14
+ /**
15
+ * Loads the dummy model from an input file.
16
+ * @param fileName File name of the dummy model.
17
+ */
18
+ constructor2(fileName: string): void;
12
19
  /**
13
20
  * The predict method takes an Instance as an input and returns the entry of distribution which has the maximum value.
14
21
  *
@@ -16,6 +23,24 @@ export declare class DummyModel extends Model {
16
23
  * @return The entry of distribution which has the maximum value.
17
24
  */
18
25
  predict(instance: Instance): string;
26
+ /**
27
+ * Calculates the posterior probability distribution for the given instance according to dummy model.
28
+ * @param instance Instance for which posterior probability distribution is calculated.
29
+ * @return Posterior probability distribution for the given instance.
30
+ */
19
31
  predictProbability(instance: Instance): Map<string, number>;
20
32
  saveTxt(fileName: string): void;
33
+ /**
34
+ * Training algorithm for the dummy classifier. Actually dummy classifier returns the maximum occurring class in
35
+ * the training data, there is no training.
36
+ *
37
+ * @param trainSet Training data given to the algorithm.
38
+ * @param parameters -
39
+ */
40
+ train(trainSet: InstanceList, parameters: Parameter): void;
41
+ /**
42
+ * Loads the dummy model from an input file.
43
+ * @param fileName File name of the dummy model.
44
+ */
45
+ loadModel(fileName: string): void;
21
46
  }
@@ -4,41 +4,32 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./Model", "nlptoolkit-math/dist/DiscreteDistribution", "../InstanceList/InstanceList", "../Instance/CompositeInstance", "nlptoolkit-util/dist/FileContents"], factory);
7
+ define(["require", "exports", "./Model", "../Instance/CompositeInstance", "nlptoolkit-util/dist/FileContents"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.DummyModel = void 0;
13
13
  const Model_1 = require("./Model");
14
- const DiscreteDistribution_1 = require("nlptoolkit-math/dist/DiscreteDistribution");
15
- const InstanceList_1 = require("../InstanceList/InstanceList");
16
14
  const CompositeInstance_1 = require("../Instance/CompositeInstance");
17
15
  const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
18
16
  class DummyModel extends Model_1.Model {
19
17
  /**
20
- * Constructor which sets the distribution using the given {@link InstanceList}.
18
+ * Training algorithm for the dummy classifier. Actually dummy classifier returns the maximum occurring class in
19
+ * the training data, there is no training. Sets the distribution using the given {@link InstanceList}.
21
20
  *
22
- * @param trainSet {@link InstanceList} which is used to get the class distribution.
21
+ * @param trainSet Training data given to the algorithm.
23
22
  */
24
- constructor(trainSet) {
25
- super();
26
- if (trainSet instanceof InstanceList_1.InstanceList) {
27
- this.distribution = trainSet.classDistribution();
28
- }
29
- else {
30
- let input = new FileContents_1.FileContents(trainSet);
31
- this.distribution = new DiscreteDistribution_1.DiscreteDistribution();
32
- let size = parseInt(input.readLine());
33
- for (let i = 0; i < size; i++) {
34
- let line = input.readLine();
35
- let items = line.split(" ");
36
- let count = parseInt(items[1]);
37
- for (let j = 0; j < count; j++) {
38
- this.distribution.addItem(items[0]);
39
- }
40
- }
41
- }
23
+ constructor1(trainSet) {
24
+ this.distribution = trainSet.classDistribution();
25
+ }
26
+ /**
27
+ * Loads the dummy model from an input file.
28
+ * @param fileName File name of the dummy model.
29
+ */
30
+ constructor2(fileName) {
31
+ let input = new FileContents_1.FileContents(fileName);
32
+ this.distribution = Model_1.Model.loadDiscreteDistribution(input);
42
33
  }
43
34
  /**
44
35
  * The predict method takes an Instance as an input and returns the entry of distribution which has the maximum value.
@@ -55,11 +46,33 @@
55
46
  return this.distribution.getMaxItem();
56
47
  }
57
48
  }
49
+ /**
50
+ * Calculates the posterior probability distribution for the given instance according to dummy model.
51
+ * @param instance Instance for which posterior probability distribution is calculated.
52
+ * @return Posterior probability distribution for the given instance.
53
+ */
58
54
  predictProbability(instance) {
59
55
  return this.distribution.getProbabilityDistribution();
60
56
  }
61
57
  saveTxt(fileName) {
62
58
  }
59
+ /**
60
+ * Training algorithm for the dummy classifier. Actually dummy classifier returns the maximum occurring class in
61
+ * the training data, there is no training.
62
+ *
63
+ * @param trainSet Training data given to the algorithm.
64
+ * @param parameters -
65
+ */
66
+ train(trainSet, parameters) {
67
+ this.constructor1(trainSet);
68
+ }
69
+ /**
70
+ * Loads the dummy model from an input file.
71
+ * @param fileName File name of the dummy model.
72
+ */
73
+ loadModel(fileName) {
74
+ this.constructor2(fileName);
75
+ }
63
76
  }
64
77
  exports.DummyModel = DummyModel;
65
78
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DummyModel.js","sourceRoot":"","sources":["../../source/Model/DummyModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mCAA8B;IAE9B,oFAA+E;IAC/E,+DAA0D;IAC1D,qEAAgE;IAChE,oEAA+D;IAE/D,MAAa,UAAW,SAAQ,aAAK;QAIjC;;;;WAIG;QACH,YAAY,QAA+B;YACvC,KAAK,EAAE,CAAC;YACR,IAAI,QAAQ,YAAY,2BAAY,EAAC;gBACjC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;aACpD;iBAAM;gBACH,IAAI,KAAK,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;gBACtC,IAAI,CAAC,YAAY,GAAG,IAAI,2CAAoB,EAAE,CAAA;gBAC9C,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAC;oBAC1B,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;oBAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAC3B,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAC;wBAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;qBACtC;iBACJ;aACJ;QACL,CAAC;QAED;;;;;WAKG;QACH,OAAO,CAAC,QAAkB;YACtB,IAAI,CAAC,QAAQ,YAAY,qCAAiB,CAAC,EAAE;gBACzC,IAAI,mBAAmB,GAAwB,QAAS,CAAC,sBAAsB,EAAE,CAAC;gBAClF,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;aAC5D;iBAAM;gBACH,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;aACzC;QACL,CAAC;QAED,kBAAkB,CAAC,QAAkB;YACjC,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,CAAC,QAAgB;QACxB,CAAC;KAEJ;IAlDD,gCAkDC"}
1
+ {"version":3,"file":"DummyModel.js","sourceRoot":"","sources":["../../source/Model/DummyModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mCAA8B;IAI9B,qEAAgE;IAChE,oEAA+D;IAG/D,MAAa,UAAW,SAAQ,aAAK;QAIjC;;;;;WAKG;QACH,YAAY,CAAC,QAAsB;YAC/B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAA;QACpD,CAAC;QAED;;;WAGG;QACH,YAAY,CAAC,QAAgB;YACzB,IAAI,KAAK,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;YACtC,IAAI,CAAC,YAAY,GAAG,aAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;QAC7D,CAAC;QAED;;;;;WAKG;QACH,OAAO,CAAC,QAAkB;YACtB,IAAI,CAAC,QAAQ,YAAY,qCAAiB,CAAC,EAAE;gBACzC,IAAI,mBAAmB,GAAwB,QAAS,CAAC,sBAAsB,EAAE,CAAC;gBAClF,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;aAC5D;iBAAM;gBACH,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;aACzC;QACL,CAAC;QAED;;;;WAIG;QACH,kBAAkB,CAAC,QAAkB;YACjC,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,CAAC,QAAgB;QACxB,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,QAAsB,EAAE,UAAqB;YAC/C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;QAED;;;WAGG;QACH,SAAS,CAAC,QAAgB;YACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;KAGJ;IAtED,gCAsEC"}
@@ -1,7 +1,7 @@
1
- import { Classifier } from "./Classifier";
2
- import { InstanceList } from "../InstanceList/InstanceList";
3
- import { Parameter } from "../Parameter/Parameter";
4
- export declare class Bagging extends Classifier {
1
+ import { TreeEnsembleModel } from "./TreeEnsembleModel";
2
+ import { InstanceList } from "../../InstanceList/InstanceList";
3
+ import { Parameter } from "../../Parameter/Parameter";
4
+ export declare class BaggingModel extends TreeEnsembleModel {
5
5
  /**
6
6
  * Bagging bootstrap ensemble method that creates individuals for its ensemble by training each classifier on a random
7
7
  * redistribution of the training set.
@@ -13,5 +13,9 @@ export declare class Bagging extends Classifier {
13
13
  * @param parameters Parameters of the bagging trees algorithm. ensembleSize returns the number of trees in the bagged forest.
14
14
  */
15
15
  train(trainSet: InstanceList, parameters: Parameter): void;
16
+ /**
17
+ * Loads the Bagging ensemble model from an input file.
18
+ * @param fileName File name of the decision tree model.
19
+ */
16
20
  loadModel(fileName: string): void;
17
21
  }
@@ -4,18 +4,17 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./Classifier", "../InstanceList/InstanceList", "../Model/DecisionTree/DecisionTree", "../Model/DecisionTree/DecisionNode", "../Model/TreeEnsembleModel"], factory);
7
+ define(["require", "exports", "./TreeEnsembleModel", "../../InstanceList/InstanceList", "../DecisionTree/DecisionTree", "../DecisionTree/DecisionNode"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Bagging = void 0;
13
- const Classifier_1 = require("./Classifier");
14
- const InstanceList_1 = require("../InstanceList/InstanceList");
15
- const DecisionTree_1 = require("../Model/DecisionTree/DecisionTree");
16
- const DecisionNode_1 = require("../Model/DecisionTree/DecisionNode");
17
- const TreeEnsembleModel_1 = require("../Model/TreeEnsembleModel");
18
- class Bagging extends Classifier_1.Classifier {
12
+ exports.BaggingModel = void 0;
13
+ const TreeEnsembleModel_1 = require("./TreeEnsembleModel");
14
+ const InstanceList_1 = require("../../InstanceList/InstanceList");
15
+ const DecisionTree_1 = require("../DecisionTree/DecisionTree");
16
+ const DecisionNode_1 = require("../DecisionTree/DecisionNode");
17
+ class BaggingModel extends TreeEnsembleModel_1.TreeEnsembleModel {
19
18
  /**
20
19
  * Bagging bootstrap ensemble method that creates individuals for its ensemble by training each classifier on a random
21
20
  * redistribution of the training set.
@@ -28,18 +27,21 @@
28
27
  */
29
28
  train(trainSet, parameters) {
30
29
  let forestSize = parameters.getEnsembleSize();
31
- let forest = new Array();
30
+ this.forest = new Array();
32
31
  for (let i = 0; i < forestSize; i++) {
33
32
  let bootstrap = trainSet.bootstrap(i);
34
33
  let tree = new DecisionTree_1.DecisionTree(new DecisionNode_1.DecisionNode(new InstanceList_1.InstanceList(bootstrap.getSample()), undefined, undefined, false));
35
- forest.push(tree);
34
+ this.forest.push(tree);
36
35
  }
37
- this.model = new TreeEnsembleModel_1.TreeEnsembleModel(forest);
38
36
  }
37
+ /**
38
+ * Loads the Bagging ensemble model from an input file.
39
+ * @param fileName File name of the decision tree model.
40
+ */
39
41
  loadModel(fileName) {
40
- this.model = new TreeEnsembleModel_1.TreeEnsembleModel(fileName);
42
+ this.constructor2(fileName);
41
43
  }
42
44
  }
43
- exports.Bagging = Bagging;
45
+ exports.BaggingModel = BaggingModel;
44
46
  });
45
- //# sourceMappingURL=Bagging.js.map
47
+ //# sourceMappingURL=BaggingModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaggingModel.js","sourceRoot":"","sources":["../../../source/Model/Ensemble/BaggingModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,2DAAsD;IACtD,kEAA6D;IAG7D,+DAA0D;IAC1D,+DAA0D;IAE1D,MAAa,YAAa,SAAQ,qCAAiB;QAE/C;;;;;;;;;WASG;QACH,KAAK,CAAC,QAAsB,EAAE,UAAqB;YAC/C,IAAI,UAAU,GAAuB,UAAW,CAAC,eAAe,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAgB,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBACjC,IAAI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,IAAI,GAAG,IAAI,2BAAY,CAAC,IAAI,2BAAY,CAAC,IAAI,2BAAY,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;gBACpH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;QACL,CAAC;QAED;;;WAGG;QACH,SAAS,CAAC,QAAgB;YACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;KAEJ;IA9BD,oCA8BC"}
@@ -1,7 +1,7 @@
1
- import { Classifier } from "./Classifier";
2
- import { InstanceList } from "../InstanceList/InstanceList";
3
- import { Parameter } from "../Parameter/Parameter";
4
- export declare class RandomForest extends Classifier {
1
+ import { TreeEnsembleModel } from "./TreeEnsembleModel";
2
+ import { InstanceList } from "../../InstanceList/InstanceList";
3
+ import { Parameter } from "../../Parameter/Parameter";
4
+ export declare class RandomForestModel extends TreeEnsembleModel {
5
5
  /**
6
6
  * Training algorithm for random forest classifier. Basically the algorithm creates K distinct decision trees from
7
7
  * K bootstrap samples of the original training set.
@@ -10,5 +10,9 @@ export declare class RandomForest extends Classifier {
10
10
  * @param parameters Parameters of the bagging trees algorithm. ensembleSize returns the number of trees in the random forest.
11
11
  */
12
12
  train(trainSet: InstanceList, parameters: Parameter): void;
13
+ /**
14
+ * Loads the random forest model from an input file.
15
+ * @param fileName File name of the random forest model.
16
+ */
13
17
  loadModel(fileName: string): void;
14
18
  }
@@ -4,18 +4,17 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./Classifier", "../InstanceList/InstanceList", "../Model/DecisionTree/DecisionTree", "../Model/DecisionTree/DecisionNode", "../Model/TreeEnsembleModel"], factory);
7
+ define(["require", "exports", "./TreeEnsembleModel", "../../InstanceList/InstanceList", "../DecisionTree/DecisionTree", "../DecisionTree/DecisionNode"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RandomForest = void 0;
13
- const Classifier_1 = require("./Classifier");
14
- const InstanceList_1 = require("../InstanceList/InstanceList");
15
- const DecisionTree_1 = require("../Model/DecisionTree/DecisionTree");
16
- const DecisionNode_1 = require("../Model/DecisionTree/DecisionNode");
17
- const TreeEnsembleModel_1 = require("../Model/TreeEnsembleModel");
18
- class RandomForest extends Classifier_1.Classifier {
12
+ exports.RandomForestModel = void 0;
13
+ const TreeEnsembleModel_1 = require("./TreeEnsembleModel");
14
+ const InstanceList_1 = require("../../InstanceList/InstanceList");
15
+ const DecisionTree_1 = require("../DecisionTree/DecisionTree");
16
+ const DecisionNode_1 = require("../DecisionTree/DecisionNode");
17
+ class RandomForestModel extends TreeEnsembleModel_1.TreeEnsembleModel {
19
18
  /**
20
19
  * Training algorithm for random forest classifier. Basically the algorithm creates K distinct decision trees from
21
20
  * K bootstrap samples of the original training set.
@@ -25,18 +24,21 @@
25
24
  */
26
25
  train(trainSet, parameters) {
27
26
  let forestSize = parameters.getEnsembleSize();
28
- let forest = new Array();
27
+ this.forest = new Array();
29
28
  for (let i = 0; i < forestSize; i++) {
30
29
  let bootstrap = trainSet.bootstrap(i);
31
30
  let tree = new DecisionTree_1.DecisionTree(new DecisionNode_1.DecisionNode(new InstanceList_1.InstanceList(bootstrap.getSample()), undefined, parameters, false));
32
- forest.push(tree);
31
+ this.forest.push(tree);
33
32
  }
34
- this.model = new TreeEnsembleModel_1.TreeEnsembleModel(forest);
35
33
  }
34
+ /**
35
+ * Loads the random forest model from an input file.
36
+ * @param fileName File name of the random forest model.
37
+ */
36
38
  loadModel(fileName) {
37
- this.model = new TreeEnsembleModel_1.TreeEnsembleModel(fileName);
39
+ this.constructor2(fileName);
38
40
  }
39
41
  }
40
- exports.RandomForest = RandomForest;
42
+ exports.RandomForestModel = RandomForestModel;
41
43
  });
42
- //# sourceMappingURL=RandomForest.js.map
44
+ //# sourceMappingURL=RandomForestModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RandomForestModel.js","sourceRoot":"","sources":["../../../source/Model/Ensemble/RandomForestModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,2DAAsD;IACtD,kEAA6D;IAG7D,+DAA0D;IAC1D,+DAA0D;IAE1D,MAAa,iBAAkB,SAAQ,qCAAiB;QAEpD;;;;;;WAMG;QACH,KAAK,CAAC,QAAsB,EAAE,UAAqB;YAC/C,IAAI,UAAU,GAA4B,UAAW,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAgB,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAC;gBAChC,IAAI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,IAAI,GAAG,IAAI,2BAAY,CAAC,IAAI,2BAAY,CAAC,IAAI,2BAAY,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,EAA0B,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7I,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;QACL,CAAC;QAED;;;WAGG;QACH,SAAS,CAAC,QAAgB;YACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;KAEJ;IA3BD,8CA2BC"}
@@ -0,0 +1,32 @@
1
+ import { Model } from "../Model";
2
+ import { Instance } from "../../Instance/Instance";
3
+ import { DecisionTree } from "../DecisionTree/DecisionTree";
4
+ export declare abstract class TreeEnsembleModel extends Model {
5
+ protected forest: Array<DecisionTree>;
6
+ /**
7
+ * A constructor which sets the {@link Array} of {@link DecisionTree} with given input.
8
+ *
9
+ * @param forest An {@link Array} of {@link DecisionTree}.
10
+ */
11
+ constructor1(forest: Array<DecisionTree>): void;
12
+ /**
13
+ * Loads a tree ensemble model such as Random Forest model or Bagging model from an input model file.
14
+ * @param fileName Model file name.
15
+ */
16
+ constructor2(fileName: string): void;
17
+ /**
18
+ * The predict method takes an {@link Instance} as an input and loops through the {@link ArrayList} of {@link DecisionTree}s.
19
+ * Makes prediction for the items of that ArrayList and returns the maximum item of that ArrayList.
20
+ *
21
+ * @param instance Instance to make prediction.
22
+ * @return The maximum prediction of a given Instance.
23
+ */
24
+ predict(instance: Instance): string;
25
+ /**
26
+ * Calculates the posterior probability distribution for the given instance according to ensemble tree model.
27
+ * @param instance Instance for which posterior probability distribution is calculated.
28
+ * @return Posterior probability distribution for the given instance.
29
+ */
30
+ predictProbability(instance: Instance): Map<string, number>;
31
+ saveTxt(fileName: string): void;
32
+ }