nlptoolkit-classification 1.0.3 → 1.0.5

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 (213) hide show
  1. package/dist/Classifier/Bagging.d.ts +1 -0
  2. package/dist/Classifier/Bagging.js +3 -0
  3. package/dist/Classifier/Bagging.js.map +1 -1
  4. package/dist/Classifier/C45.d.ts +1 -0
  5. package/dist/Classifier/C45.js +3 -0
  6. package/dist/Classifier/C45.js.map +1 -1
  7. package/dist/Classifier/C45Stump.d.ts +1 -0
  8. package/dist/Classifier/C45Stump.js +3 -0
  9. package/dist/Classifier/C45Stump.js.map +1 -1
  10. package/dist/Classifier/Classifier.d.ts +1 -0
  11. package/dist/Classifier/Classifier.js.map +1 -1
  12. package/dist/Classifier/DeepNetwork.d.ts +1 -0
  13. package/dist/Classifier/DeepNetwork.js +3 -0
  14. package/dist/Classifier/DeepNetwork.js.map +1 -1
  15. package/dist/Classifier/Dummy.d.ts +1 -0
  16. package/dist/Classifier/Dummy.js +3 -0
  17. package/dist/Classifier/Dummy.js.map +1 -1
  18. package/dist/Classifier/KMeans.d.ts +1 -0
  19. package/dist/Classifier/KMeans.js +3 -0
  20. package/dist/Classifier/KMeans.js.map +1 -1
  21. package/dist/Classifier/Knn.d.ts +1 -0
  22. package/dist/Classifier/Knn.js +3 -0
  23. package/dist/Classifier/Knn.js.map +1 -1
  24. package/dist/Classifier/Lda.d.ts +1 -0
  25. package/dist/Classifier/Lda.js +3 -0
  26. package/dist/Classifier/Lda.js.map +1 -1
  27. package/dist/Classifier/LinearPerceptron.d.ts +1 -0
  28. package/dist/Classifier/LinearPerceptron.js +3 -0
  29. package/dist/Classifier/LinearPerceptron.js.map +1 -1
  30. package/dist/Classifier/MultiLayerPerceptron.d.ts +1 -0
  31. package/dist/Classifier/MultiLayerPerceptron.js +3 -0
  32. package/dist/Classifier/MultiLayerPerceptron.js.map +1 -1
  33. package/dist/Classifier/NaiveBayes.d.ts +1 -0
  34. package/dist/Classifier/NaiveBayes.js +3 -0
  35. package/dist/Classifier/NaiveBayes.js.map +1 -1
  36. package/dist/Classifier/Qda.d.ts +1 -0
  37. package/dist/Classifier/Qda.js +3 -0
  38. package/dist/Classifier/Qda.js.map +1 -1
  39. package/dist/Classifier/RandomClassifier.d.ts +1 -0
  40. package/dist/Classifier/RandomClassifier.js +3 -0
  41. package/dist/Classifier/RandomClassifier.js.map +1 -1
  42. package/dist/Classifier/RandomForest.d.ts +1 -0
  43. package/dist/Classifier/RandomForest.js +3 -0
  44. package/dist/Classifier/RandomForest.js.map +1 -1
  45. package/dist/DataSet/DataDefinition.d.ts +5 -1
  46. package/dist/DataSet/DataDefinition.js +16 -1
  47. package/dist/DataSet/DataDefinition.js.map +1 -1
  48. package/dist/DataSet/DataSet.js +1 -1
  49. package/dist/DataSet/DataSet.js.map +1 -1
  50. package/dist/InstanceList/InstanceList.js +3 -0
  51. package/dist/InstanceList/InstanceList.js.map +1 -1
  52. package/dist/Model/DecisionTree/DecisionNode.d.ts +6 -3
  53. package/dist/Model/DecisionTree/DecisionNode.js +48 -3
  54. package/dist/Model/DecisionTree/DecisionNode.js.map +1 -1
  55. package/dist/Model/DecisionTree/DecisionTree.d.ts +4 -3
  56. package/dist/Model/DecisionTree/DecisionTree.js +14 -4
  57. package/dist/Model/DecisionTree/DecisionTree.js.map +1 -1
  58. package/dist/Model/DeepNetworkModel.d.ts +6 -3
  59. package/dist/Model/DeepNetworkModel.js +53 -30
  60. package/dist/Model/DeepNetworkModel.js.map +1 -1
  61. package/dist/Model/DummyModel.d.ts +2 -1
  62. package/dist/Model/DummyModel.js +22 -2
  63. package/dist/Model/DummyModel.js.map +1 -1
  64. package/dist/Model/GaussianModel.d.ts +4 -0
  65. package/dist/Model/GaussianModel.js +28 -1
  66. package/dist/Model/GaussianModel.js.map +1 -1
  67. package/dist/Model/KMeansModel.d.ts +3 -2
  68. package/dist/Model/KMeansModel.js +19 -6
  69. package/dist/Model/KMeansModel.js.map +1 -1
  70. package/dist/Model/KnnModel.d.ts +3 -2
  71. package/dist/Model/KnnModel.js +18 -6
  72. package/dist/Model/KnnModel.js.map +1 -1
  73. package/dist/Model/LdaModel.d.ts +5 -2
  74. package/dist/Model/LdaModel.js +28 -6
  75. package/dist/Model/LdaModel.js.map +1 -1
  76. package/dist/Model/LinearPerceptronModel.d.ts +5 -2
  77. package/dist/Model/LinearPerceptronModel.js +38 -10
  78. package/dist/Model/LinearPerceptronModel.js.map +1 -1
  79. package/dist/Model/Model.d.ts +7 -0
  80. package/dist/Model/Model.js +40 -1
  81. package/dist/Model/Model.js.map +1 -1
  82. package/dist/Model/MultiLayerPerceptronModel.d.ts +5 -2
  83. package/dist/Model/MultiLayerPerceptronModel.js +33 -13
  84. package/dist/Model/MultiLayerPerceptronModel.js.map +1 -1
  85. package/dist/Model/NaiveBayesModel.d.ts +2 -1
  86. package/dist/Model/NaiveBayesModel.js +18 -6
  87. package/dist/Model/NaiveBayesModel.js.map +1 -1
  88. package/dist/Model/NeuralNetworkModel.d.ts +4 -1
  89. package/dist/Model/NeuralNetworkModel.js +27 -6
  90. package/dist/Model/NeuralNetworkModel.js.map +1 -1
  91. package/dist/Model/QdaModel.d.ts +3 -2
  92. package/dist/Model/QdaModel.js +23 -5
  93. package/dist/Model/QdaModel.js.map +1 -1
  94. package/dist/Model/RandomModel.d.ts +4 -2
  95. package/dist/Model/RandomModel.js +20 -4
  96. package/dist/Model/RandomModel.js.map +1 -1
  97. package/dist/Model/TreeEnsembleModel.d.ts +3 -2
  98. package/dist/Model/TreeEnsembleModel.js +19 -4
  99. package/dist/Model/TreeEnsembleModel.js.map +1 -1
  100. package/models/bagging-bupa.txt +25666 -0
  101. package/models/bagging-car.txt +78923 -0
  102. package/models/bagging-dermatology.txt +7276 -0
  103. package/models/bagging-iris.txt +3131 -0
  104. package/models/bagging-tictactoe.txt +61186 -0
  105. package/models/c45-bupa.txt +3 -0
  106. package/models/c45-car.txt +331 -0
  107. package/models/c45-carIndexed.txt +188 -0
  108. package/models/c45-dermatology.txt +43 -0
  109. package/models/c45-iris.txt +13 -0
  110. package/models/c45-tictactoe.txt +270 -0
  111. package/models/c45-tictactoeIndexed.txt +173 -0
  112. package/models/c45stump-bupa.txt +8 -0
  113. package/models/c45stump-car.txt +11 -0
  114. package/models/c45stump-chess.txt +8 -0
  115. package/models/c45stump-dermatology.txt +8 -0
  116. package/models/c45stump-iris.txt +8 -0
  117. package/models/c45stump-nursery.txt +11 -0
  118. package/models/c45stump-tictactoe.txt +11 -0
  119. package/models/deepNetwork-bupa.txt +40 -0
  120. package/models/deepNetwork-dermatology.txt +37 -0
  121. package/models/deepNetwork-iris.txt +22 -0
  122. package/models/dummy-bupa.txt +3 -0
  123. package/models/dummy-car.txt +5 -0
  124. package/models/dummy-chess.txt +19 -0
  125. package/models/dummy-dermatology.txt +7 -0
  126. package/models/dummy-iris.txt +4 -0
  127. package/models/dummy-nursery.txt +6 -0
  128. package/models/dummy-tictactoe.txt +3 -0
  129. package/models/kMeans-bupa.txt +7 -0
  130. package/models/kMeans-car.txt +11 -0
  131. package/models/kMeans-chess.txt +39 -0
  132. package/models/kMeans-dermatology.txt +15 -0
  133. package/models/kMeans-iris.txt +9 -0
  134. package/models/kMeans-nursery.txt +13 -0
  135. package/models/kMeans-tictactoe.txt +7 -0
  136. package/models/knn-bupa.txt +348 -0
  137. package/models/knn-car.txt +1731 -0
  138. package/models/knn-dermatology.txt +369 -0
  139. package/models/knn-iris.txt +153 -0
  140. package/models/knn-tictactoe.txt +961 -0
  141. package/models/lda-bupa.txt +7 -0
  142. package/models/lda-dermatology.txt +19 -0
  143. package/models/lda-iris.txt +10 -0
  144. package/models/linearPerceptron-bupa.txt +6 -0
  145. package/models/linearPerceptron-dermatology.txt +14 -0
  146. package/models/linearPerceptron-iris.txt +8 -0
  147. package/models/multiLayerPerceptron-bupa.txt +38 -0
  148. package/models/multiLayerPerceptron-dermatology.txt +36 -0
  149. package/models/multiLayerPerceptron-iris.txt +13 -0
  150. package/models/naiveBayes-bupa.txt +7 -0
  151. package/models/naiveBayes-dermatology.txt +19 -0
  152. package/models/naiveBayes-iris.txt +10 -0
  153. package/models/qda-bupa.txt +23 -0
  154. package/models/qda-iris.txt +28 -0
  155. package/models/random-bupa.txt +4 -0
  156. package/models/random-car.txt +6 -0
  157. package/models/random-chess.txt +20 -0
  158. package/models/random-dermatology.txt +8 -0
  159. package/models/random-iris.txt +5 -0
  160. package/models/random-nursery.txt +7 -0
  161. package/models/random-tictactoe.txt +4 -0
  162. package/models/randomforest-bupa.txt +25666 -0
  163. package/models/randomforest-car.txt +78923 -0
  164. package/models/randomforest-carIndexed.txt +38786 -0
  165. package/models/randomforest-dermatology.txt +7276 -0
  166. package/models/randomforest-iris.txt +3131 -0
  167. package/models/randomforest-tictactoe.txt +61186 -0
  168. package/package.json +3 -3
  169. package/source/Classifier/Bagging.ts +3 -0
  170. package/source/Classifier/C45.ts +4 -0
  171. package/source/Classifier/C45Stump.ts +4 -0
  172. package/source/Classifier/Classifier.ts +1 -0
  173. package/source/Classifier/DeepNetwork.ts +4 -0
  174. package/source/Classifier/Dummy.ts +4 -0
  175. package/source/Classifier/KMeans.ts +4 -0
  176. package/source/Classifier/Knn.ts +5 -1
  177. package/source/Classifier/Lda.ts +4 -0
  178. package/source/Classifier/LinearPerceptron.ts +4 -0
  179. package/source/Classifier/MultiLayerPerceptron.ts +4 -0
  180. package/source/Classifier/NaiveBayes.ts +4 -0
  181. package/source/Classifier/Qda.ts +4 -0
  182. package/source/Classifier/RandomClassifier.ts +4 -0
  183. package/source/Classifier/RandomForest.ts +4 -0
  184. package/source/DataSet/DataDefinition.ts +19 -1
  185. package/source/DataSet/DataSet.ts +1 -1
  186. package/source/InstanceList/InstanceList.ts +5 -0
  187. package/source/Model/DecisionTree/DecisionNode.ts +69 -29
  188. package/source/Model/DecisionTree/DecisionTree.ts +14 -4
  189. package/source/Model/DeepNetworkModel.ts +40 -16
  190. package/source/Model/DummyModel.ts +20 -2
  191. package/source/Model/GaussianModel.ts +29 -0
  192. package/source/Model/KMeansModel.ts +18 -6
  193. package/source/Model/KnnModel.ts +19 -6
  194. package/source/Model/LdaModel.ts +29 -6
  195. package/source/Model/LinearPerceptronModel.ts +52 -25
  196. package/source/Model/Model.ts +43 -0
  197. package/source/Model/MultiLayerPerceptronModel.ts +34 -12
  198. package/source/Model/NaiveBayesModel.ts +19 -7
  199. package/source/Model/NeuralNetworkModel.ts +31 -7
  200. package/source/Model/QdaModel.ts +22 -4
  201. package/source/Model/RandomModel.ts +21 -4
  202. package/source/Model/TreeEnsembleModel.ts +17 -3
  203. package/tests/Classifier/C45Test.ts +98 -0
  204. package/tests/Classifier/DeepNetworkTest.ts +52 -0
  205. package/tests/Classifier/DummyTest.ts +89 -0
  206. package/tests/Classifier/KMeansTest.ts +89 -0
  207. package/tests/Classifier/KnnTest.ts +68 -0
  208. package/tests/Classifier/LdaTest.ts +45 -0
  209. package/tests/Classifier/LinearPerceptronTest.ts +49 -0
  210. package/tests/Classifier/MultiLayerPerceptronTest.ts +51 -0
  211. package/tests/Classifier/NaiveBayesTest.ts +45 -0
  212. package/tests/Classifier/QdaTest.ts +35 -0
  213. package/tests/Classifier/RandomForestTest.ts +85 -0
@@ -0,0 +1,85 @@
1
+ import {AttributeType} from "../../dist/Attribute/AttributeType";
2
+ import {DataDefinition} from "../../dist/DataSet/DataDefinition";
3
+ import {DataSet} from "../../dist/DataSet/DataSet";
4
+ import * as assert from "assert";
5
+ import {RandomForest} from "../../dist/Classifier/RandomForest";
6
+ import {RandomForestParameter} from "../../dist/Parameter/RandomForestParameter";
7
+
8
+ describe('RandomForestTest', function() {
9
+ describe('RandomForestTest', function() {
10
+ let randomForest = new RandomForest()
11
+ let randomForestParameter = new RandomForestParameter(1, 100, 35)
12
+ let attributeTypes = new Array<AttributeType>();
13
+ for (let i = 0; i < 4; i++){
14
+ attributeTypes.push(AttributeType.CONTINUOUS)
15
+ }
16
+ let dataDefinition = new DataDefinition(attributeTypes)
17
+ let iris = new DataSet(dataDefinition, ",", "datasets/iris.data")
18
+ attributeTypes = new Array<AttributeType>();
19
+ for (let i = 0; i < 6; i++){
20
+ attributeTypes.push(AttributeType.CONTINUOUS)
21
+ }
22
+ dataDefinition = new DataDefinition(attributeTypes)
23
+ let bupa = new DataSet(dataDefinition, ",", "datasets/bupa.data")
24
+ attributeTypes = new Array<AttributeType>()
25
+ for (let i = 0; i < 34; i++){
26
+ attributeTypes.push(AttributeType.CONTINUOUS)
27
+ }
28
+ dataDefinition = new DataDefinition(attributeTypes)
29
+ let dermatology = new DataSet(dataDefinition, ",", "datasets/dermatology.data")
30
+ attributeTypes = new Array<AttributeType>()
31
+ for (let i = 0; i < 6; i++){
32
+ attributeTypes.push(AttributeType.DISCRETE)
33
+ }
34
+ dataDefinition = new DataDefinition(attributeTypes);
35
+ let car = new DataSet(dataDefinition, ",", "datasets/car.data");
36
+ attributeTypes = new Array<AttributeType>();
37
+ let attributeValueList = new Array<Array<String>>()
38
+ attributeValueList.push(["vhigh", "high", "low", "med"])
39
+ attributeValueList.push(["vhigh", "high", "low", "med"])
40
+ attributeValueList.push(["2", "3", "4", "5more"])
41
+ attributeValueList.push(["2", "4", "more"])
42
+ attributeValueList.push(["big", "med", "small"])
43
+ attributeValueList.push(["high", "low", "med"])
44
+ for (let i = 0; i < 6; i++){
45
+ attributeTypes.push(AttributeType.DISCRETE_INDEXED)
46
+ }
47
+ dataDefinition = new DataDefinition(attributeTypes, attributeValueList)
48
+ let carIndexed = new DataSet(dataDefinition, ",", "datasets/car.data")
49
+ attributeTypes = new Array<AttributeType>()
50
+ for (let i = 0; i < 9; i++){
51
+ attributeTypes.push(AttributeType.DISCRETE)
52
+ }
53
+ dataDefinition = new DataDefinition(attributeTypes);
54
+ let tictactoe = new DataSet(dataDefinition, ",", "datasets/tictactoe.data")
55
+ it('testTrain', function() {
56
+ this.timeout(4000);
57
+ randomForest.train(iris.getInstanceList(), randomForestParameter);
58
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(iris.getInstanceList()).getErrorRate()) <= 0.01);
59
+ randomForest.train(bupa.getInstanceList(), randomForestParameter);
60
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(bupa.getInstanceList()).getErrorRate()) <= 0.01);
61
+ randomForest.train(dermatology.getInstanceList(), randomForestParameter);
62
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(dermatology.getInstanceList()).getErrorRate()) <= 0.01);
63
+ randomForest.train(car.getInstanceList(), randomForestParameter);
64
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(car.getInstanceList()).getErrorRate()) <= 0.01);
65
+ randomForest.train(tictactoe.getInstanceList(), randomForestParameter);
66
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(tictactoe.getInstanceList()).getErrorRate()) <= 0.01);
67
+ randomForest.train(carIndexed.getInstanceList(), randomForestParameter);
68
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(carIndexed.getInstanceList()).getErrorRate()) <= 0.01);
69
+ });
70
+ it('testLoad', function() {
71
+ randomForest.loadModel("models/randomforest-iris.txt");
72
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(iris.getInstanceList()).getErrorRate()) <= 0.01);
73
+ randomForest.loadModel("models/randomforest-bupa.txt");
74
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(bupa.getInstanceList()).getErrorRate()) <= 0.01);
75
+ randomForest.loadModel("models/randomforest-dermatology.txt");
76
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(dermatology.getInstanceList()).getErrorRate()) <= 0.01);
77
+ randomForest.loadModel("models/randomforest-car.txt");
78
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(car.getInstanceList()).getErrorRate()) <= 0.01);
79
+ randomForest.loadModel("models/randomforest-tictactoe.txt");
80
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(tictactoe.getInstanceList()).getErrorRate()) <= 0.01);
81
+ randomForest.loadModel("models/randomforest-carIndexed.txt");
82
+ assert.ok(Math.abs(0.00 - 100 * randomForest.test(carIndexed.getInstanceList()).getErrorRate()) <= 0.01);
83
+ });
84
+ });
85
+ });