nlptoolkit-classification 1.0.0

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 (412) hide show
  1. package/README.md +161 -0
  2. package/datasets/bupa.data +345 -0
  3. package/datasets/car.data +1728 -0
  4. package/datasets/chess.data +28056 -0
  5. package/datasets/dermatology.data +366 -0
  6. package/datasets/iris.data +150 -0
  7. package/datasets/nursery.data +12960 -0
  8. package/datasets/tictactoe.data +958 -0
  9. package/dist/Attribute/Attribute.d.ts +4 -0
  10. package/dist/Attribute/Attribute.js +17 -0
  11. package/dist/Attribute/Attribute.js.map +1 -0
  12. package/dist/Attribute/AttributeType.d.ts +18 -0
  13. package/dist/Attribute/AttributeType.js +33 -0
  14. package/dist/Attribute/AttributeType.js.map +1 -0
  15. package/dist/Attribute/BinaryAttribute.d.ts +9 -0
  16. package/dist/Attribute/BinaryAttribute.js +26 -0
  17. package/dist/Attribute/BinaryAttribute.js.map +1 -0
  18. package/dist/Attribute/ContinuousAttribute.d.ts +30 -0
  19. package/dist/Attribute/ContinuousAttribute.js +59 -0
  20. package/dist/Attribute/ContinuousAttribute.js.map +1 -0
  21. package/dist/Attribute/DiscreteAttribute.d.ts +24 -0
  22. package/dist/Attribute/DiscreteAttribute.js +53 -0
  23. package/dist/Attribute/DiscreteAttribute.js.map +1 -0
  24. package/dist/Attribute/DiscreteIndexedAttribute.d.ts +27 -0
  25. package/dist/Attribute/DiscreteIndexedAttribute.js +61 -0
  26. package/dist/Attribute/DiscreteIndexedAttribute.js.map +1 -0
  27. package/dist/Classifier/Bagging.d.ts +16 -0
  28. package/dist/Classifier/Bagging.js +42 -0
  29. package/dist/Classifier/Bagging.js.map +1 -0
  30. package/dist/Classifier/C45.d.ts +13 -0
  31. package/dist/Classifier/C45.js +40 -0
  32. package/dist/Classifier/C45.js.map +1 -0
  33. package/dist/Classifier/C45Stump.d.ts +12 -0
  34. package/dist/Classifier/C45Stump.js +29 -0
  35. package/dist/Classifier/C45Stump.js.map +1 -0
  36. package/dist/Classifier/Classifier.d.ts +39 -0
  37. package/dist/Classifier/Classifier.js +72 -0
  38. package/dist/Classifier/Classifier.js.map +1 -0
  39. package/dist/Classifier/DeepNetwork.d.ts +13 -0
  40. package/dist/Classifier/DeepNetwork.js +31 -0
  41. package/dist/Classifier/DeepNetwork.js.map +1 -0
  42. package/dist/Classifier/Dummy.d.ts +13 -0
  43. package/dist/Classifier/Dummy.js +29 -0
  44. package/dist/Classifier/Dummy.js.map +1 -0
  45. package/dist/Classifier/KMeans.d.ts +12 -0
  46. package/dist/Classifier/KMeans.js +36 -0
  47. package/dist/Classifier/KMeans.js.map +1 -0
  48. package/dist/Classifier/Knn.d.ts +13 -0
  49. package/dist/Classifier/Knn.js +29 -0
  50. package/dist/Classifier/Knn.js.map +1 -0
  51. package/dist/Classifier/Lda.d.ts +12 -0
  52. package/dist/Classifier/Lda.js +52 -0
  53. package/dist/Classifier/Lda.js.map +1 -0
  54. package/dist/Classifier/LinearPerceptron.d.ts +14 -0
  55. package/dist/Classifier/LinearPerceptron.js +32 -0
  56. package/dist/Classifier/LinearPerceptron.js.map +1 -0
  57. package/dist/Classifier/MultiLayerPerceptron.d.ts +14 -0
  58. package/dist/Classifier/MultiLayerPerceptron.js +32 -0
  59. package/dist/Classifier/MultiLayerPerceptron.js.map +1 -0
  60. package/dist/Classifier/NaiveBayes.d.ts +25 -0
  61. package/dist/Classifier/NaiveBayes.js +67 -0
  62. package/dist/Classifier/NaiveBayes.js.map +1 -0
  63. package/dist/Classifier/Qda.d.ts +12 -0
  64. package/dist/Classifier/Qda.js +50 -0
  65. package/dist/Classifier/Qda.js.map +1 -0
  66. package/dist/Classifier/RandomClassifier.d.ts +12 -0
  67. package/dist/Classifier/RandomClassifier.js +32 -0
  68. package/dist/Classifier/RandomClassifier.js.map +1 -0
  69. package/dist/Classifier/RandomForest.d.ts +13 -0
  70. package/dist/Classifier/RandomForest.js +39 -0
  71. package/dist/Classifier/RandomForest.js.map +1 -0
  72. package/dist/DataSet/DataDefinition.d.ts +59 -0
  73. package/dist/DataSet/DataDefinition.js +108 -0
  74. package/dist/DataSet/DataDefinition.js.map +1 -0
  75. package/dist/DataSet/DataSet.d.ts +111 -0
  76. package/dist/DataSet/DataSet.js +286 -0
  77. package/dist/DataSet/DataSet.js.map +1 -0
  78. package/dist/DistanceMetric/DistanceMetric.d.ts +4 -0
  79. package/dist/DistanceMetric/DistanceMetric.js +13 -0
  80. package/dist/DistanceMetric/DistanceMetric.js.map +1 -0
  81. package/dist/DistanceMetric/EuclidianDistance.d.ts +13 -0
  82. package/dist/DistanceMetric/EuclidianDistance.js +43 -0
  83. package/dist/DistanceMetric/EuclidianDistance.js.map +1 -0
  84. package/dist/DistanceMetric/MahalanobisDistance.d.ts +20 -0
  85. package/dist/DistanceMetric/MahalanobisDistance.js +39 -0
  86. package/dist/DistanceMetric/MahalanobisDistance.js.map +1 -0
  87. package/dist/Experiment/BootstrapRun.d.ts +19 -0
  88. package/dist/Experiment/BootstrapRun.js +44 -0
  89. package/dist/Experiment/BootstrapRun.js.map +1 -0
  90. package/dist/Experiment/Experiment.d.ts +37 -0
  91. package/dist/Experiment/Experiment.js +57 -0
  92. package/dist/Experiment/Experiment.js.map +1 -0
  93. package/dist/Experiment/KFoldRun.d.ts +19 -0
  94. package/dist/Experiment/KFoldRun.js +43 -0
  95. package/dist/Experiment/KFoldRun.js.map +1 -0
  96. package/dist/Experiment/KFoldRunSeparateTest.d.ts +24 -0
  97. package/dist/Experiment/KFoldRunSeparateTest.js +51 -0
  98. package/dist/Experiment/KFoldRunSeparateTest.js.map +1 -0
  99. package/dist/Experiment/MultipleRun.d.ts +5 -0
  100. package/dist/Experiment/MultipleRun.js +13 -0
  101. package/dist/Experiment/MultipleRun.js.map +1 -0
  102. package/dist/Experiment/MxKFoldRun.d.ts +20 -0
  103. package/dist/Experiment/MxKFoldRun.js +44 -0
  104. package/dist/Experiment/MxKFoldRun.js.map +1 -0
  105. package/dist/Experiment/MxKFoldRunSeparateTest.d.ts +21 -0
  106. package/dist/Experiment/MxKFoldRunSeparateTest.js +48 -0
  107. package/dist/Experiment/MxKFoldRunSeparateTest.js.map +1 -0
  108. package/dist/Experiment/SingleRun.d.ts +5 -0
  109. package/dist/Experiment/SingleRun.js +13 -0
  110. package/dist/Experiment/SingleRun.js.map +1 -0
  111. package/dist/Experiment/SingleRunWithK.d.ts +19 -0
  112. package/dist/Experiment/SingleRunWithK.js +37 -0
  113. package/dist/Experiment/SingleRunWithK.js.map +1 -0
  114. package/dist/Experiment/StratifiedKFoldRun.d.ts +17 -0
  115. package/dist/Experiment/StratifiedKFoldRun.js +39 -0
  116. package/dist/Experiment/StratifiedKFoldRun.js.map +1 -0
  117. package/dist/Experiment/StratifiedKFoldRunSeparateTest.d.ts +18 -0
  118. package/dist/Experiment/StratifiedKFoldRunSeparateTest.js +43 -0
  119. package/dist/Experiment/StratifiedKFoldRunSeparateTest.js.map +1 -0
  120. package/dist/Experiment/StratifiedMxKFoldRun.d.ts +19 -0
  121. package/dist/Experiment/StratifiedMxKFoldRun.js +43 -0
  122. package/dist/Experiment/StratifiedMxKFoldRun.js.map +1 -0
  123. package/dist/Experiment/StratifiedMxKFoldRunSeparateTest.d.ts +20 -0
  124. package/dist/Experiment/StratifiedMxKFoldRunSeparateTest.js +47 -0
  125. package/dist/Experiment/StratifiedMxKFoldRunSeparateTest.js.map +1 -0
  126. package/dist/Experiment/StratifiedSingleRunWithK.d.ts +18 -0
  127. package/dist/Experiment/StratifiedSingleRunWithK.js +39 -0
  128. package/dist/Experiment/StratifiedSingleRunWithK.js.map +1 -0
  129. package/dist/FeatureSelection/BackwardSelection.d.ts +18 -0
  130. package/dist/FeatureSelection/BackwardSelection.js +39 -0
  131. package/dist/FeatureSelection/BackwardSelection.js.map +1 -0
  132. package/dist/FeatureSelection/FeatureSubSet.d.ts +47 -0
  133. package/dist/FeatureSelection/FeatureSubSet.js +89 -0
  134. package/dist/FeatureSelection/FeatureSubSet.js.map +1 -0
  135. package/dist/FeatureSelection/FloatingSelection.d.ts +16 -0
  136. package/dist/FeatureSelection/FloatingSelection.js +38 -0
  137. package/dist/FeatureSelection/FloatingSelection.js.map +1 -0
  138. package/dist/FeatureSelection/ForwardSelection.d.ts +17 -0
  139. package/dist/FeatureSelection/ForwardSelection.js +38 -0
  140. package/dist/FeatureSelection/ForwardSelection.js.map +1 -0
  141. package/dist/FeatureSelection/SubSetSelection.d.ts +37 -0
  142. package/dist/FeatureSelection/SubSetSelection.js +90 -0
  143. package/dist/FeatureSelection/SubSetSelection.js.map +1 -0
  144. package/dist/Filter/DiscreteToContinuous.d.ts +25 -0
  145. package/dist/Filter/DiscreteToContinuous.js +69 -0
  146. package/dist/Filter/DiscreteToContinuous.js.map +1 -0
  147. package/dist/Filter/DiscreteToIndexed.d.ts +21 -0
  148. package/dist/Filter/DiscreteToIndexed.js +56 -0
  149. package/dist/Filter/DiscreteToIndexed.js.map +1 -0
  150. package/dist/Filter/FeatureFilter.d.ts +18 -0
  151. package/dist/Filter/FeatureFilter.js +36 -0
  152. package/dist/Filter/FeatureFilter.js.map +1 -0
  153. package/dist/Filter/LaryFilter.d.ts +27 -0
  154. package/dist/Filter/LaryFilter.js +62 -0
  155. package/dist/Filter/LaryFilter.js.map +1 -0
  156. package/dist/Filter/LaryToBinary.d.ts +23 -0
  157. package/dist/Filter/LaryToBinary.js +67 -0
  158. package/dist/Filter/LaryToBinary.js.map +1 -0
  159. package/dist/Filter/Normalize.d.ts +21 -0
  160. package/dist/Filter/Normalize.js +47 -0
  161. package/dist/Filter/Normalize.js.map +1 -0
  162. package/dist/Filter/Pca.d.ts +44 -0
  163. package/dist/Filter/Pca.js +109 -0
  164. package/dist/Filter/Pca.js.map +1 -0
  165. package/dist/Filter/TrainedFeatureFilter.d.ts +11 -0
  166. package/dist/Filter/TrainedFeatureFilter.js +26 -0
  167. package/dist/Filter/TrainedFeatureFilter.js.map +1 -0
  168. package/dist/Instance/CompositeInstance.d.ts +32 -0
  169. package/dist/Instance/CompositeInstance.js +61 -0
  170. package/dist/Instance/CompositeInstance.js.map +1 -0
  171. package/dist/Instance/Instance.d.ts +89 -0
  172. package/dist/Instance/Instance.js +170 -0
  173. package/dist/Instance/Instance.js.map +1 -0
  174. package/dist/InstanceList/InstanceList.d.ts +188 -0
  175. package/dist/InstanceList/InstanceList.js +517 -0
  176. package/dist/InstanceList/InstanceList.js.map +1 -0
  177. package/dist/InstanceList/InstanceListOfSameClass.d.ts +16 -0
  178. package/dist/InstanceList/InstanceListOfSameClass.js +35 -0
  179. package/dist/InstanceList/InstanceListOfSameClass.js.map +1 -0
  180. package/dist/InstanceList/Partition.d.ts +31 -0
  181. package/dist/InstanceList/Partition.js +143 -0
  182. package/dist/InstanceList/Partition.js.map +1 -0
  183. package/dist/Model/DecisionTree/DecisionCondition.d.ts +34 -0
  184. package/dist/Model/DecisionTree/DecisionCondition.js +84 -0
  185. package/dist/Model/DecisionTree/DecisionCondition.js.map +1 -0
  186. package/dist/Model/DecisionTree/DecisionNode.d.ts +82 -0
  187. package/dist/Model/DecisionTree/DecisionNode.js +271 -0
  188. package/dist/Model/DecisionTree/DecisionNode.js.map +1 -0
  189. package/dist/Model/DecisionTree/DecisionTree.d.ts +37 -0
  190. package/dist/Model/DecisionTree/DecisionTree.js +75 -0
  191. package/dist/Model/DecisionTree/DecisionTree.js.map +1 -0
  192. package/dist/Model/DeepNetworkModel.d.ts +42 -0
  193. package/dist/Model/DeepNetworkModel.js +163 -0
  194. package/dist/Model/DeepNetworkModel.js.map +1 -0
  195. package/dist/Model/DummyModel.d.ts +20 -0
  196. package/dist/Model/DummyModel.js +46 -0
  197. package/dist/Model/DummyModel.js.map +1 -0
  198. package/dist/Model/GaussianModel.d.ts +24 -0
  199. package/dist/Model/GaussianModel.js +59 -0
  200. package/dist/Model/GaussianModel.js.map +1 -0
  201. package/dist/Model/KMeansModel.d.ts +27 -0
  202. package/dist/Model/KMeansModel.js +48 -0
  203. package/dist/Model/KMeansModel.js.map +1 -0
  204. package/dist/Model/KnnInstance.d.ts +14 -0
  205. package/dist/Model/KnnInstance.js +33 -0
  206. package/dist/Model/KnnInstance.js.map +1 -0
  207. package/dist/Model/KnnModel.d.ts +36 -0
  208. package/dist/Model/KnnModel.js +83 -0
  209. package/dist/Model/KnnModel.js.map +1 -0
  210. package/dist/Model/LdaModel.d.ts +25 -0
  211. package/dist/Model/LdaModel.js +45 -0
  212. package/dist/Model/LdaModel.js.map +1 -0
  213. package/dist/Model/LinearPerceptronModel.d.ts +21 -0
  214. package/dist/Model/LinearPerceptronModel.js +62 -0
  215. package/dist/Model/LinearPerceptronModel.js.map +1 -0
  216. package/dist/Model/Model.d.ts +12 -0
  217. package/dist/Model/Model.js +31 -0
  218. package/dist/Model/Model.js.map +1 -0
  219. package/dist/Model/MultiLayerPerceptronModel.d.ts +29 -0
  220. package/dist/Model/MultiLayerPerceptronModel.js +101 -0
  221. package/dist/Model/MultiLayerPerceptronModel.js.map +1 -0
  222. package/dist/Model/NaiveBayesModel.d.ts +47 -0
  223. package/dist/Model/NaiveBayesModel.js +95 -0
  224. package/dist/Model/NaiveBayesModel.js.map +1 -0
  225. package/dist/Model/NeuralNetworkModel.d.ts +99 -0
  226. package/dist/Model/NeuralNetworkModel.js +180 -0
  227. package/dist/Model/NeuralNetworkModel.js.map +1 -0
  228. package/dist/Model/QdaModel.d.ts +26 -0
  229. package/dist/Model/QdaModel.js +45 -0
  230. package/dist/Model/QdaModel.js.map +1 -0
  231. package/dist/Model/RandomModel.d.ts +16 -0
  232. package/dist/Model/RandomModel.js +51 -0
  233. package/dist/Model/RandomModel.js.map +1 -0
  234. package/dist/Model/TreeEnsembleModel.d.ts +21 -0
  235. package/dist/Model/TreeEnsembleModel.js +49 -0
  236. package/dist/Model/TreeEnsembleModel.js.map +1 -0
  237. package/dist/Model/ValidatedModel.d.ts +12 -0
  238. package/dist/Model/ValidatedModel.js +35 -0
  239. package/dist/Model/ValidatedModel.js.map +1 -0
  240. package/dist/Parameter/ActivationFunction.d.ts +5 -0
  241. package/dist/Parameter/ActivationFunction.js +20 -0
  242. package/dist/Parameter/ActivationFunction.js.map +1 -0
  243. package/dist/Parameter/BaggingParameter.d.ts +17 -0
  244. package/dist/Parameter/BaggingParameter.js +36 -0
  245. package/dist/Parameter/BaggingParameter.js.map +1 -0
  246. package/dist/Parameter/C45Parameter.d.ts +25 -0
  247. package/dist/Parameter/C45Parameter.js +46 -0
  248. package/dist/Parameter/C45Parameter.js.map +1 -0
  249. package/dist/Parameter/DeepNetworkParameter.d.ts +38 -0
  250. package/dist/Parameter/DeepNetworkParameter.js +60 -0
  251. package/dist/Parameter/DeepNetworkParameter.js.map +1 -0
  252. package/dist/Parameter/KMeansParameter.d.ts +18 -0
  253. package/dist/Parameter/KMeansParameter.js +42 -0
  254. package/dist/Parameter/KMeansParameter.js.map +1 -0
  255. package/dist/Parameter/KnnParameter.d.ts +19 -0
  256. package/dist/Parameter/KnnParameter.js +37 -0
  257. package/dist/Parameter/KnnParameter.js.map +1 -0
  258. package/dist/Parameter/LinearPerceptronParameter.d.ts +41 -0
  259. package/dist/Parameter/LinearPerceptronParameter.js +66 -0
  260. package/dist/Parameter/LinearPerceptronParameter.js.map +1 -0
  261. package/dist/Parameter/MultiLayerPerceptronParameter.d.ts +30 -0
  262. package/dist/Parameter/MultiLayerPerceptronParameter.js +50 -0
  263. package/dist/Parameter/MultiLayerPerceptronParameter.js.map +1 -0
  264. package/dist/Parameter/Parameter.d.ts +15 -0
  265. package/dist/Parameter/Parameter.js +33 -0
  266. package/dist/Parameter/Parameter.js.map +1 -0
  267. package/dist/Parameter/RandomForestParameter.d.ts +18 -0
  268. package/dist/Parameter/RandomForestParameter.js +37 -0
  269. package/dist/Parameter/RandomForestParameter.js.map +1 -0
  270. package/dist/Performance/ClassificationPerformance.d.ts +17 -0
  271. package/dist/Performance/ClassificationPerformance.js +36 -0
  272. package/dist/Performance/ClassificationPerformance.js.map +1 -0
  273. package/dist/Performance/ConfusionMatrix.d.ts +81 -0
  274. package/dist/Performance/ConfusionMatrix.js +178 -0
  275. package/dist/Performance/ConfusionMatrix.js.map +1 -0
  276. package/dist/Performance/DetailedClassificationPerformance.d.ts +17 -0
  277. package/dist/Performance/DetailedClassificationPerformance.js +35 -0
  278. package/dist/Performance/DetailedClassificationPerformance.js.map +1 -0
  279. package/dist/Performance/ExperimentPerformance.d.ts +88 -0
  280. package/dist/Performance/ExperimentPerformance.js +176 -0
  281. package/dist/Performance/ExperimentPerformance.js.map +1 -0
  282. package/dist/Performance/Performance.d.ts +15 -0
  283. package/dist/Performance/Performance.js +33 -0
  284. package/dist/Performance/Performance.js.map +1 -0
  285. package/dist/StatisticalTest/Combined5x2F.d.ts +7 -0
  286. package/dist/StatisticalTest/Combined5x2F.js +43 -0
  287. package/dist/StatisticalTest/Combined5x2F.js.map +1 -0
  288. package/dist/StatisticalTest/Combined5x2t.d.ts +7 -0
  289. package/dist/StatisticalTest/Combined5x2t.js +43 -0
  290. package/dist/StatisticalTest/Combined5x2t.js.map +1 -0
  291. package/dist/StatisticalTest/Paired5x2t.d.ts +7 -0
  292. package/dist/StatisticalTest/Paired5x2t.js +42 -0
  293. package/dist/StatisticalTest/Paired5x2t.js.map +1 -0
  294. package/dist/StatisticalTest/PairedTest.d.ts +6 -0
  295. package/dist/StatisticalTest/PairedTest.js +35 -0
  296. package/dist/StatisticalTest/PairedTest.js.map +1 -0
  297. package/dist/StatisticalTest/Pairedt.d.ts +7 -0
  298. package/dist/StatisticalTest/Pairedt.js +40 -0
  299. package/dist/StatisticalTest/Pairedt.js.map +1 -0
  300. package/dist/StatisticalTest/Sign.d.ts +8 -0
  301. package/dist/StatisticalTest/Sign.js +52 -0
  302. package/dist/StatisticalTest/Sign.js.map +1 -0
  303. package/dist/StatisticalTest/StatisticalTestResult.d.ts +9 -0
  304. package/dist/StatisticalTest/StatisticalTestResult.js +53 -0
  305. package/dist/StatisticalTest/StatisticalTestResult.js.map +1 -0
  306. package/dist/StatisticalTest/StatisticalTestResultType.d.ts +7 -0
  307. package/dist/StatisticalTest/StatisticalTestResultType.js +22 -0
  308. package/dist/StatisticalTest/StatisticalTestResultType.js.map +1 -0
  309. package/index.js +100 -0
  310. package/package.json +30 -0
  311. package/source/Attribute/Attribute.ts +6 -0
  312. package/source/Attribute/AttributeType.ts +18 -0
  313. package/source/Attribute/BinaryAttribute.ts +14 -0
  314. package/source/Attribute/ContinuousAttribute.ts +53 -0
  315. package/source/Attribute/DiscreteAttribute.ts +46 -0
  316. package/source/Attribute/DiscreteIndexedAttribute.ts +54 -0
  317. package/source/Classifier/Bagging.ts +32 -0
  318. package/source/Classifier/C45.ts +30 -0
  319. package/source/Classifier/C45Stump.ts +19 -0
  320. package/source/Classifier/Classifier.ts +71 -0
  321. package/source/Classifier/DeepNetwork.ts +22 -0
  322. package/source/Classifier/Dummy.ts +19 -0
  323. package/source/Classifier/KMeans.ts +26 -0
  324. package/source/Classifier/Knn.ts +21 -0
  325. package/source/Classifier/Lda.ts +43 -0
  326. package/source/Classifier/LinearPerceptron.ts +23 -0
  327. package/source/Classifier/MultiLayerPerceptron.ts +23 -0
  328. package/source/Classifier/NaiveBayes.ts +62 -0
  329. package/source/Classifier/Qda.ts +42 -0
  330. package/source/Classifier/RandomClassifier.ts +22 -0
  331. package/source/Classifier/RandomForest.ts +29 -0
  332. package/source/DataSet/DataDefinition.ts +106 -0
  333. package/source/DataSet/DataSet.ts +279 -0
  334. package/source/DistanceMetric/DistanceMetric.ts +6 -0
  335. package/source/DistanceMetric/EuclidianDistance.ts +32 -0
  336. package/source/DistanceMetric/MahalanobisDistance.ts +33 -0
  337. package/source/Experiment/BootstrapRun.ts +37 -0
  338. package/source/Experiment/Experiment.ts +57 -0
  339. package/source/Experiment/KFoldRun.ts +44 -0
  340. package/source/Experiment/KFoldRunSeparateTest.ts +50 -0
  341. package/source/Experiment/MultipleRun.ts +7 -0
  342. package/source/Experiment/MxKFoldRun.ts +37 -0
  343. package/source/Experiment/MxKFoldRunSeparateTest.ts +40 -0
  344. package/source/Experiment/SingleRun.ts +7 -0
  345. package/source/Experiment/SingleRunWithK.ts +39 -0
  346. package/source/Experiment/StratifiedKFoldRun.ts +30 -0
  347. package/source/Experiment/StratifiedKFoldRunSeparateTest.ts +33 -0
  348. package/source/Experiment/StratifiedMxKFoldRun.ts +34 -0
  349. package/source/Experiment/StratifiedMxKFoldRunSeparateTest.ts +40 -0
  350. package/source/Experiment/StratifiedSingleRunWithK.ts +33 -0
  351. package/source/FeatureSelection/BackwardSelection.ts +28 -0
  352. package/source/FeatureSelection/FeatureSubSet.ts +82 -0
  353. package/source/FeatureSelection/FloatingSelection.ts +27 -0
  354. package/source/FeatureSelection/ForwardSelection.ts +27 -0
  355. package/source/FeatureSelection/SubSetSelection.ts +88 -0
  356. package/source/Filter/DiscreteToContinuous.ts +59 -0
  357. package/source/Filter/DiscreteToIndexed.ts +48 -0
  358. package/source/Filter/FeatureFilter.ts +31 -0
  359. package/source/Filter/LaryFilter.ts +54 -0
  360. package/source/Filter/LaryToBinary.ts +57 -0
  361. package/source/Filter/Normalize.ts +42 -0
  362. package/source/Filter/Pca.ts +104 -0
  363. package/source/Filter/TrainedFeatureFilter.ts +17 -0
  364. package/source/Instance/CompositeInstance.ts +53 -0
  365. package/source/Instance/Instance.ts +170 -0
  366. package/source/InstanceList/InstanceList.ts +519 -0
  367. package/source/InstanceList/InstanceListOfSameClass.ts +25 -0
  368. package/source/InstanceList/Partition.ts +131 -0
  369. package/source/Model/DecisionTree/DecisionCondition.ts +74 -0
  370. package/source/Model/DecisionTree/DecisionNode.ts +257 -0
  371. package/source/Model/DecisionTree/DecisionTree.ts +71 -0
  372. package/source/Model/DeepNetworkModel.ts +156 -0
  373. package/source/Model/DummyModel.ts +40 -0
  374. package/source/Model/GaussianModel.ts +58 -0
  375. package/source/Model/KMeansModel.ts +44 -0
  376. package/source/Model/KnnInstance.ts +27 -0
  377. package/source/Model/KnnModel.ts +78 -0
  378. package/source/Model/LdaModel.ts +39 -0
  379. package/source/Model/LinearPerceptronModel.ts +55 -0
  380. package/source/Model/Model.ts +22 -0
  381. package/source/Model/MultiLayerPerceptronModel.ts +95 -0
  382. package/source/Model/NaiveBayesModel.ts +89 -0
  383. package/source/Model/NeuralNetworkModel.ts +187 -0
  384. package/source/Model/QdaModel.ts +39 -0
  385. package/source/Model/RandomModel.ts +44 -0
  386. package/source/Model/TreeEnsembleModel.ts +43 -0
  387. package/source/Model/ValidatedModel.ts +23 -0
  388. package/source/Parameter/ActivationFunction.ts +3 -0
  389. package/source/Parameter/BaggingParameter.ts +26 -0
  390. package/source/Parameter/C45Parameter.ts +38 -0
  391. package/source/Parameter/DeepNetworkParameter.ts +59 -0
  392. package/source/Parameter/KMeansParameter.ts +33 -0
  393. package/source/Parameter/KnnParameter.ts +28 -0
  394. package/source/Parameter/LinearPerceptronParameter.ts +66 -0
  395. package/source/Parameter/MultiLayerPerceptronParameter.ts +49 -0
  396. package/source/Parameter/Parameter.ts +22 -0
  397. package/source/Parameter/RandomForestParameter.ts +27 -0
  398. package/source/Performance/ClassificationPerformance.ts +26 -0
  399. package/source/Performance/ConfusionMatrix.ts +175 -0
  400. package/source/Performance/DetailedClassificationPerformance.ts +26 -0
  401. package/source/Performance/ExperimentPerformance.ts +175 -0
  402. package/source/Performance/Performance.ts +22 -0
  403. package/source/StatisticalTest/Combined5x2F.ts +33 -0
  404. package/source/StatisticalTest/Combined5x2t.ts +33 -0
  405. package/source/StatisticalTest/Paired5x2t.ts +32 -0
  406. package/source/StatisticalTest/PairedTest.ts +24 -0
  407. package/source/StatisticalTest/Pairedt.ts +30 -0
  408. package/source/StatisticalTest/Sign.ts +41 -0
  409. package/source/StatisticalTest/StatisticalTestResult.ts +42 -0
  410. package/source/StatisticalTest/StatisticalTestResultType.ts +6 -0
  411. package/source/tsconfig.json +13 -0
  412. package/tsconfig.json +15 -0
@@ -0,0 +1,517 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "../Instance/Instance", "../DataSet/DataDefinition", "fs", "../Attribute/BinaryAttribute", "../Attribute/DiscreteAttribute", "../Attribute/ContinuousAttribute", "../Attribute/AttributeType", "nlptoolkit-sampling/dist/Bootstrap", "../Instance/CompositeInstance", "../Model/Model", "../Attribute/DiscreteIndexedAttribute", "nlptoolkit-math/dist/DiscreteDistribution", "nlptoolkit-math/dist/Matrix"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.InstanceList = void 0;
13
+ const Instance_1 = require("../Instance/Instance");
14
+ const DataDefinition_1 = require("../DataSet/DataDefinition");
15
+ const fs = require("fs");
16
+ const BinaryAttribute_1 = require("../Attribute/BinaryAttribute");
17
+ const DiscreteAttribute_1 = require("../Attribute/DiscreteAttribute");
18
+ const ContinuousAttribute_1 = require("../Attribute/ContinuousAttribute");
19
+ const AttributeType_1 = require("../Attribute/AttributeType");
20
+ const Bootstrap_1 = require("nlptoolkit-sampling/dist/Bootstrap");
21
+ const CompositeInstance_1 = require("../Instance/CompositeInstance");
22
+ const Model_1 = require("../Model/Model");
23
+ const DiscreteIndexedAttribute_1 = require("../Attribute/DiscreteIndexedAttribute");
24
+ const DiscreteDistribution_1 = require("nlptoolkit-math/dist/DiscreteDistribution");
25
+ const Matrix_1 = require("nlptoolkit-math/dist/Matrix");
26
+ class InstanceList {
27
+ /**
28
+ * Constructor for an instance list with a given data definition, data file and a separator character. Each instance
29
+ * must be stored in a separate line separated with the character separator. The last item must be the class label.
30
+ * The function reads the file line by line and for each line; depending on the data definition, that is, type of
31
+ * the attributes, adds discrete and continuous attributes to a new instance. For example, given the data set file
32
+ * <p>
33
+ * red;1;0.4;true
34
+ * green;-1;0.8;true
35
+ * blue;3;1.3;false
36
+ * <p>
37
+ * where the first attribute is a discrete attribute, second and third attributes are continuous attributes, the
38
+ * fourth item is the class label.
39
+ *
40
+ * @param definition Data definition of the data set.
41
+ * @param separator Separator character which separates the attribute values in the data file.
42
+ * @param fileName Name of the data set file.
43
+ */
44
+ constructor(definition, separator, fileName) {
45
+ this.list = new Array();
46
+ if (definition != undefined) {
47
+ if (definition instanceof DataDefinition_1.DataDefinition) {
48
+ let data = fs.readFileSync(fileName, 'utf8');
49
+ let lines = data.split("\n");
50
+ for (let line of lines) {
51
+ let attributeList = line.split(separator);
52
+ if (attributeList.length == definition.attributeCount() + 1) {
53
+ let current = new Instance_1.Instance(attributeList[attributeList.length - 1]);
54
+ for (let i = 0; i < attributeList.length - 1; i++) {
55
+ switch (definition.getAttributeType(i)) {
56
+ case AttributeType_1.AttributeType.DISCRETE:
57
+ current.addAttribute(new DiscreteAttribute_1.DiscreteAttribute(attributeList[i]));
58
+ break;
59
+ case AttributeType_1.AttributeType.BINARY:
60
+ if (attributeList[i].toLowerCase() == "yes" || attributeList[i] == "1") {
61
+ current.addAttribute(new BinaryAttribute_1.BinaryAttribute(true));
62
+ }
63
+ else {
64
+ current.addAttribute(new BinaryAttribute_1.BinaryAttribute(false));
65
+ }
66
+ break;
67
+ case AttributeType_1.AttributeType.CONTINUOUS:
68
+ current.addAttribute(new ContinuousAttribute_1.ContinuousAttribute(Number.parseFloat(attributeList[i])));
69
+ break;
70
+ }
71
+ }
72
+ this.list.push(current);
73
+ }
74
+ }
75
+ }
76
+ else {
77
+ this.list = definition;
78
+ }
79
+ }
80
+ }
81
+ /**
82
+ * Adds instance to the instance list.
83
+ *
84
+ * @param instance Instance to be added.
85
+ */
86
+ add(instance) {
87
+ this.list.push(instance);
88
+ }
89
+ /**
90
+ * Adds a list of instances to the current instance list.
91
+ *
92
+ * @param instanceList List of instances to be added.
93
+ */
94
+ addAll(instanceList) {
95
+ for (let instance of instanceList) {
96
+ this.list.push(instance);
97
+ }
98
+ }
99
+ /**
100
+ * Returns size of the instance list.
101
+ *
102
+ * @return Size of the instance list.
103
+ */
104
+ size() {
105
+ return this.list.length;
106
+ }
107
+ /**
108
+ * Accessor for a single instance with the given index.
109
+ *
110
+ * @param index Index of the instance.
111
+ * @return Instance with index 'index'.
112
+ */
113
+ get(index) {
114
+ return this.list[index];
115
+ }
116
+ /**
117
+ * Sorts instance list according to the attribute with index 'attributeIndex'.
118
+ *
119
+ * @param attributeIndex index of the attribute.
120
+ */
121
+ sort(attributeIndex) {
122
+ if (attributeIndex == undefined) {
123
+ this.list.sort((a, b) => (a.getClassLabel() < b.getClassLabel() ? -1 :
124
+ a.getClassLabel() > b.getClassLabel() ? 1 : 0));
125
+ }
126
+ else {
127
+ this.list.sort((a, b) => a.getAttribute(attributeIndex).getValue() < b.getAttribute(attributeIndex).getValue() ? -1 :
128
+ a.getAttribute(attributeIndex).getValue() > b.getAttribute(attributeIndex).getValue() ? 1 : 0);
129
+ }
130
+ }
131
+ /**
132
+ * Shuffles the instance list.
133
+ * @param seed Seed is used for random number generation.
134
+ */
135
+ shuffle(seed) {
136
+ }
137
+ /**
138
+ * Creates a bootstrap sample from the current instance list.
139
+ *
140
+ * @param seed To create a different bootstrap sample, we need a new seed for each sample.
141
+ * @return Bootstrap sample.
142
+ */
143
+ bootstrap(seed) {
144
+ return new Bootstrap_1.Bootstrap(this.list, seed);
145
+ }
146
+ /**
147
+ * Extracts the class labels of each instance in the instance list and returns them in an array of {@link String}.
148
+ *
149
+ * @return An array list of class labels.
150
+ */
151
+ getClassLabels() {
152
+ let classLabels = new Array();
153
+ for (let instance of this.list) {
154
+ classLabels.push(instance.getClassLabel());
155
+ }
156
+ return classLabels;
157
+ }
158
+ /**
159
+ * Extracts the class labels of each instance in the instance list and returns them as a set.
160
+ *
161
+ * @return An {@link Array} of distinct class labels.
162
+ */
163
+ getDistinctClassLabels() {
164
+ let classLabels = new Array();
165
+ for (let instance of this.list) {
166
+ if (!classLabels.includes(instance.getClassLabel())) {
167
+ classLabels.push(instance.getClassLabel());
168
+ }
169
+ }
170
+ return classLabels;
171
+ }
172
+ /**
173
+ * Extracts the possible class labels of each instance in the instance list and returns them as a set.
174
+ *
175
+ * @return An {@link Array} of distinct class labels.
176
+ */
177
+ getUnionOfPossibleClassLabels() {
178
+ let possibleClassLabels = new Array();
179
+ for (let instance of this.list) {
180
+ if (instance instanceof CompositeInstance_1.CompositeInstance) {
181
+ let compositeInstance = instance;
182
+ for (let possibleClassLabel of compositeInstance.getPossibleClassLabels()) {
183
+ if (!possibleClassLabels.includes(possibleClassLabel)) {
184
+ possibleClassLabels.push(possibleClassLabel);
185
+ }
186
+ }
187
+ }
188
+ else {
189
+ if (!possibleClassLabels.includes(instance.getClassLabel())) {
190
+ possibleClassLabels.push(instance.getClassLabel());
191
+ }
192
+ }
193
+ }
194
+ return possibleClassLabels;
195
+ }
196
+ /**
197
+ * Extracts distinct discrete values of a given attribute as an array of strings.
198
+ *
199
+ * @param attributeIndex Index of the discrete attribute.
200
+ * @return An array of distinct values of a discrete attribute.
201
+ */
202
+ getAttributeValueList(attributeIndex) {
203
+ let valueList = new Array();
204
+ for (let instance of this.list) {
205
+ if (!valueList.includes(instance.getAttribute(attributeIndex).getValue())) {
206
+ valueList.push(instance.getAttribute(attributeIndex).getValue());
207
+ }
208
+ }
209
+ return valueList;
210
+ }
211
+ /**
212
+ * Calculates the mean of a single attribute for this instance list (m_i). If the attribute is discrete, the maximum
213
+ * occurring value for that attribute is returned. If the attribute is continuous, the mean value of the values of
214
+ * all instances are returned.
215
+ *
216
+ * @param index Index of the attribute.
217
+ * @return The mean value of the instances as an attribute.
218
+ */
219
+ attributeAverage(index) {
220
+ if (this.list[0].getAttribute(index) instanceof DiscreteAttribute_1.DiscreteAttribute) {
221
+ let values = new Array();
222
+ for (let instance of this.list) {
223
+ values.push(instance.getAttribute(index).getValue());
224
+ }
225
+ return new DiscreteAttribute_1.DiscreteAttribute(Model_1.Model.getMaximum(values));
226
+ }
227
+ else {
228
+ if (this.list[0].getAttribute(index) instanceof ContinuousAttribute_1.ContinuousAttribute) {
229
+ let sum = 0.0;
230
+ for (let instance of this.list) {
231
+ sum += instance.getAttribute(index).getValue();
232
+ }
233
+ return new ContinuousAttribute_1.ContinuousAttribute(sum / this.list.length);
234
+ }
235
+ else {
236
+ return undefined;
237
+ }
238
+ }
239
+ }
240
+ /**
241
+ * Calculates the mean of a single attribute for this instance list (m_i).
242
+ *
243
+ * @param index Index of the attribute.
244
+ * @return The mean value of the instances as an attribute.
245
+ */
246
+ continuousAttributeAverage(index) {
247
+ if (index == undefined) {
248
+ let result = new Array();
249
+ for (let i = 0; i < this.list[0].attributeSize(); i++) {
250
+ for (let attribute of this.continuousAttributeAverage(i)) {
251
+ result.push(attribute);
252
+ }
253
+ }
254
+ return result;
255
+ }
256
+ else {
257
+ if (this.list[0].getAttribute(index) instanceof DiscreteIndexedAttribute_1.DiscreteIndexedAttribute) {
258
+ let maxIndexSize = this.list[0].getAttribute(index).getMaxIndex();
259
+ let values = new Array();
260
+ for (let i = 0; i < maxIndexSize; i++) {
261
+ values.push(0.0);
262
+ }
263
+ for (let instance of this.list) {
264
+ let valueIndex = instance.getAttribute(index).getIndex();
265
+ values[valueIndex]++;
266
+ }
267
+ for (let i = 0; i < values.length; i++) {
268
+ values[i] /= this.list.length;
269
+ }
270
+ return values;
271
+ }
272
+ else {
273
+ if (this.list[0].getAttribute(index) instanceof ContinuousAttribute_1.ContinuousAttribute) {
274
+ let sum = 0.0;
275
+ for (let instance of this.list) {
276
+ sum += instance.getAttribute(index).getValue();
277
+ }
278
+ let values = new Array();
279
+ values.push(sum / this.list.length);
280
+ return values;
281
+ }
282
+ else {
283
+ return undefined;
284
+ }
285
+ }
286
+ }
287
+ }
288
+ /**
289
+ * Calculates the standard deviation of a single attribute for this instance list (m_i). If the attribute is discrete,
290
+ * null returned. If the attribute is continuous, the standard deviation of the values all instances are returned.
291
+ *
292
+ * @param index Index of the attribute.
293
+ * @return The standard deviation of the instances as an attribute.
294
+ */
295
+ attributeStandardDeviation(index) {
296
+ if (this.list[0].getAttribute(index) instanceof ContinuousAttribute_1.ContinuousAttribute) {
297
+ let sum = 0.0;
298
+ for (let instance of this.list) {
299
+ sum += instance.getAttribute(index).getValue();
300
+ }
301
+ let average = sum / this.list.length;
302
+ sum = 0.0;
303
+ for (let instance of this.list) {
304
+ sum += Math.pow(instance.getAttribute(index).getValue() - average, 2);
305
+ }
306
+ return new ContinuousAttribute_1.ContinuousAttribute(Math.sqrt(sum / (this.list.length - 1)));
307
+ }
308
+ else {
309
+ return undefined;
310
+ }
311
+ }
312
+ /**
313
+ * Calculates the standard deviation of a single continuous attribute for this instance list (m_i).
314
+ *
315
+ * @param index Index of the attribute.
316
+ * @return The standard deviation of the instances as an attribute.
317
+ */
318
+ continuousAttributeStandardDeviation(index) {
319
+ if (index == undefined) {
320
+ let result = new Array();
321
+ for (let i = 0; i < this.list[0].attributeSize(); i++) {
322
+ for (let attribute of this.continuousAttributeStandardDeviation(i)) {
323
+ result.push(attribute);
324
+ }
325
+ }
326
+ return result;
327
+ }
328
+ else {
329
+ if (this.list[0].getAttribute(index) instanceof DiscreteIndexedAttribute_1.DiscreteIndexedAttribute) {
330
+ let maxIndexSize = this.list[0].getAttribute(index).getMaxIndex();
331
+ let averages = new Array();
332
+ for (let i = 0; i < maxIndexSize; i++) {
333
+ averages.push(0.0);
334
+ }
335
+ for (let instance of this.list) {
336
+ let valueIndex = instance.getAttribute(index).getIndex();
337
+ averages[valueIndex]++;
338
+ }
339
+ for (let i = 0; i < averages.length; i++) {
340
+ averages[i] /= this.list.length;
341
+ }
342
+ let values = new Array();
343
+ for (let i = 0; i < maxIndexSize; i++) {
344
+ values.push(0.0);
345
+ }
346
+ for (let instance of this.list) {
347
+ let valueIndex = instance.getAttribute(index).getIndex();
348
+ for (let i = 0; i < maxIndexSize; i++) {
349
+ if (i == valueIndex) {
350
+ values[i] += Math.pow(1 - averages[i], 2);
351
+ }
352
+ else {
353
+ values[i] += Math.pow(averages[i], 2);
354
+ }
355
+ }
356
+ }
357
+ for (let i = 0; i < values.length; i++) {
358
+ values[i] = Math.sqrt(values[i] / (this.list.length - 1));
359
+ }
360
+ return values;
361
+ }
362
+ else {
363
+ if (this.list[0].getAttribute(index) instanceof ContinuousAttribute_1.ContinuousAttribute) {
364
+ let sum = 0.0;
365
+ for (let instance of this.list) {
366
+ sum += instance.getAttribute(index).getValue();
367
+ }
368
+ let average = sum / this.list.length;
369
+ sum = 0.0;
370
+ for (let instance of this.list) {
371
+ sum += Math.pow(instance.getAttribute(index).getValue() - average, 2);
372
+ }
373
+ let result = new Array();
374
+ result.push(Math.sqrt(sum / (this.list.length - 1)));
375
+ return result;
376
+ }
377
+ else {
378
+ return undefined;
379
+ }
380
+ }
381
+ }
382
+ }
383
+ /**
384
+ * The attributeDistribution method takes an index as an input and if the attribute of the instance at given index is
385
+ * discrete, it returns the distribution of the attributes of that instance.
386
+ *
387
+ * @param index Index of the attribute.
388
+ * @return Distribution of the attribute.
389
+ */
390
+ attributeDistribution(index) {
391
+ let distribution = new DiscreteDistribution_1.DiscreteDistribution();
392
+ if (this.list[0].getAttribute(index) instanceof DiscreteAttribute_1.DiscreteAttribute) {
393
+ for (let instance of this.list) {
394
+ distribution.addItem(instance.getAttribute(index).getValue());
395
+ }
396
+ }
397
+ return distribution;
398
+ }
399
+ /**
400
+ * The attributeClassDistribution method takes an attribute index as an input. It loops through the instances, gets
401
+ * the corresponding value of given attribute index and adds the class label of that instance to the discrete distributions list.
402
+ *
403
+ * @param attributeIndex Index of the attribute.
404
+ * @return Distribution of the class labels.
405
+ */
406
+ attributeClassDistribution(attributeIndex) {
407
+ let distributions = new Array();
408
+ let valueList = this.getAttributeValueList(attributeIndex);
409
+ for (let ignored of valueList) {
410
+ distributions.push(new DiscreteDistribution_1.DiscreteDistribution());
411
+ }
412
+ for (let instance of this.list) {
413
+ distributions[valueList.indexOf(instance.getAttribute(attributeIndex).getValue())].addItem(instance.getClassLabel());
414
+ }
415
+ return distributions;
416
+ }
417
+ /**
418
+ * The discreteIndexedAttributeClassDistribution method takes an attribute index and an attribute value as inputs.
419
+ * It loops through the instances, gets the corresponding value of given attribute index and given attribute value.
420
+ * Then, adds the class label of that instance to the discrete indexed distributions list.
421
+ *
422
+ * @param attributeIndex Index of the attribute.
423
+ * @param attributeValue Value of the attribute.
424
+ * @return Distribution of the class labels.
425
+ */
426
+ discreteIndexedAttributeClassDistribution(attributeIndex, attributeValue) {
427
+ let distribution = new DiscreteDistribution_1.DiscreteDistribution();
428
+ for (let instance of this.list) {
429
+ if (instance.getAttribute(attributeIndex).getIndex() == attributeValue) {
430
+ distribution.addItem(instance.getClassLabel());
431
+ }
432
+ }
433
+ return distribution;
434
+ }
435
+ /**
436
+ * The classDistribution method returns the distribution of all the class labels of instances.
437
+ *
438
+ * @return Distribution of the class labels.
439
+ */
440
+ classDistribution() {
441
+ let distribution = new DiscreteDistribution_1.DiscreteDistribution();
442
+ for (let instance of this.list) {
443
+ distribution.addItem(instance.getClassLabel());
444
+ }
445
+ return distribution;
446
+ }
447
+ /**
448
+ * The allAttributesDistribution method returns the distributions of all the attributes of instances.
449
+ *
450
+ * @return Distributions of all the attributes of instances.
451
+ */
452
+ allAttributesDistribution() {
453
+ let distributions = new Array();
454
+ for (let i = 0; i < this.list[0].attributeSize(); i++) {
455
+ distributions.push(this.attributeDistribution(i));
456
+ }
457
+ return distributions;
458
+ }
459
+ /**
460
+ * Returns the mean of all the attributes for instances in the list.
461
+ *
462
+ * @return Mean of all the attributes for instances in the list.
463
+ */
464
+ average() {
465
+ let result = new Instance_1.Instance(this.list[0].getClassLabel());
466
+ for (let i = 0; i < this.list[0].attributeSize(); i++) {
467
+ result.addAttribute(this.attributeAverage(i));
468
+ }
469
+ return result;
470
+ }
471
+ /**
472
+ * Returns the standard deviation of attributes for instances.
473
+ *
474
+ * @return Standard deviation of attributes for instances.
475
+ */
476
+ standardDeviation() {
477
+ let result = new Instance_1.Instance(this.list[0].getClassLabel());
478
+ for (let i = 0; i < this.list[0].attributeSize(); i++) {
479
+ result.addAttribute(this.attributeStandardDeviation(i));
480
+ }
481
+ return result;
482
+ }
483
+ /**
484
+ * Calculates a covariance {@link Matrix} by using an average {@link Vector}.
485
+ *
486
+ * @param average Vector input.
487
+ * @return Covariance {@link Matrix}.
488
+ */
489
+ covariance(average) {
490
+ let result = new Matrix_1.Matrix(this.list[0].continuousAttributeSize(), this.list[0].continuousAttributeSize());
491
+ for (let instance of this.list) {
492
+ let continuousAttributes = instance.continuousAttributes();
493
+ for (let i = 0; i < instance.continuousAttributeSize(); i++) {
494
+ let xi = continuousAttributes[i];
495
+ let mi = average.getValue(i);
496
+ for (let j = 0; j < instance.continuousAttributeSize(); j++) {
497
+ let xj = continuousAttributes[j];
498
+ let mj = average.getValue(j);
499
+ result.addValue(i, j, (xi - mi) * (xj - mj));
500
+ }
501
+ }
502
+ }
503
+ result.divideByConstant(this.list.length - 1);
504
+ return result;
505
+ }
506
+ /**
507
+ * Accessor for the instances.
508
+ *
509
+ * @return Instances.
510
+ */
511
+ getInstances() {
512
+ return this.list;
513
+ }
514
+ }
515
+ exports.InstanceList = InstanceList;
516
+ });
517
+ //# sourceMappingURL=InstanceList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceList.js","sourceRoot":"","sources":["../../source/InstanceList/InstanceList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { InstanceList } from "./InstanceList";
2
+ export declare class InstanceListOfSameClass extends InstanceList {
3
+ private classLabel;
4
+ /**
5
+ * Constructor for creating a new instance list with the same class label.
6
+ *
7
+ * @param classLabel Class label of instance list.
8
+ */
9
+ constructor(classLabel: string);
10
+ /**
11
+ * Accessor for the class label.
12
+ *
13
+ * @return Class label.
14
+ */
15
+ getClassLabel(): string;
16
+ }
@@ -0,0 +1,35 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "./InstanceList"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.InstanceListOfSameClass = void 0;
13
+ const InstanceList_1 = require("./InstanceList");
14
+ class InstanceListOfSameClass extends InstanceList_1.InstanceList {
15
+ /**
16
+ * Constructor for creating a new instance list with the same class label.
17
+ *
18
+ * @param classLabel Class label of instance list.
19
+ */
20
+ constructor(classLabel) {
21
+ super();
22
+ this.classLabel = classLabel;
23
+ }
24
+ /**
25
+ * Accessor for the class label.
26
+ *
27
+ * @return Class label.
28
+ */
29
+ getClassLabel() {
30
+ return this.classLabel;
31
+ }
32
+ }
33
+ exports.InstanceListOfSameClass = InstanceListOfSameClass;
34
+ });
35
+ //# sourceMappingURL=InstanceListOfSameClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceListOfSameClass.js","sourceRoot":"","sources":["../../source/InstanceList/InstanceListOfSameClass.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iDAA4C;IAE5C,MAAa,uBAAwB,SAAQ,2BAAY;QAIrD;;;;WAIG;QACH,YAAY,UAAkB;YAC1B,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAChC,CAAC;QAED;;;;WAIG;QACH,aAAa;YACT,OAAO,IAAI,CAAC,UAAU,CAAA;QAC1B,CAAC;KACJ;IAtBD,0DAsBC"}
@@ -0,0 +1,31 @@
1
+ import { InstanceList } from "./InstanceList";
2
+ import { Instance } from "../Instance/Instance";
3
+ export declare class Partition {
4
+ private multiList;
5
+ constructor(instanceList?: InstanceList, attributeIndex?: number, stratifiedOrValue?: any);
6
+ /**
7
+ * Adds given instance list to the list of instance lists.
8
+ *
9
+ * @param list Instance list to add.
10
+ */
11
+ add(list: InstanceList): void;
12
+ /**
13
+ * Returns the size of the list of instance lists.
14
+ *
15
+ * @return The size of the list of instance lists.
16
+ */
17
+ size(): number;
18
+ /**
19
+ * Returns the corresponding instance list at given index of list of instance lists.
20
+ *
21
+ * @param index Index of the instance list.
22
+ * @return Instance list at given index of list of instance lists.
23
+ */
24
+ get(index: number): InstanceList;
25
+ /**
26
+ * Returns the instances of the items at the list of instance lists.
27
+ *
28
+ * @return Instances of the items at the list of instance lists.
29
+ */
30
+ getLists(): Array<Array<Instance>>;
31
+ }