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 @@
1
+ {"version":3,"file":"DataSet.js","sourceRoot":"","sources":["../../source/DataSet/DataSet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Instance } from "../Instance/Instance";
2
+ export interface DistanceMetric {
3
+ distance(instance1: Instance, instance2: Instance): number;
4
+ }
@@ -0,0 +1,13 @@
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"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ });
13
+ //# sourceMappingURL=DistanceMetric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DistanceMetric.js","sourceRoot":"","sources":["../../source/DistanceMetric/DistanceMetric.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { DistanceMetric } from "./DistanceMetric";
2
+ import { Instance } from "../Instance/Instance";
3
+ export declare class EuclidianDistance implements DistanceMetric {
4
+ /**
5
+ * Calculates Euclidian distance between two instances. For continuous features: \sum_{i=1}^d (x_i^(1) - x_i^(2))^2,
6
+ * For discrete features: \sum_{i=1}^d 1(x_i^(1) == x_i^(2))
7
+ *
8
+ * @param instance1 First instance
9
+ * @param instance2 Second instance
10
+ * @return Euclidian distance between two instances.
11
+ */
12
+ distance(instance1: Instance, instance2: Instance): number;
13
+ }
@@ -0,0 +1,43 @@
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", "../Attribute/DiscreteAttribute", "../Attribute/ContinuousAttribute"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EuclidianDistance = void 0;
13
+ const DiscreteAttribute_1 = require("../Attribute/DiscreteAttribute");
14
+ const ContinuousAttribute_1 = require("../Attribute/ContinuousAttribute");
15
+ class EuclidianDistance {
16
+ /**
17
+ * Calculates Euclidian distance between two instances. For continuous features: \sum_{i=1}^d (x_i^(1) - x_i^(2))^2,
18
+ * For discrete features: \sum_{i=1}^d 1(x_i^(1) == x_i^(2))
19
+ *
20
+ * @param instance1 First instance
21
+ * @param instance2 Second instance
22
+ * @return Euclidian distance between two instances.
23
+ */
24
+ distance(instance1, instance2) {
25
+ let result = 0;
26
+ for (let i = 0; i < instance1.attributeSize(); i++) {
27
+ if (instance1.getAttribute(i) instanceof DiscreteAttribute_1.DiscreteAttribute && instance2.getAttribute(i) instanceof DiscreteAttribute_1.DiscreteAttribute) {
28
+ if (instance1.getAttribute(i).getValue() != null && instance1.getAttribute(i).getValue() != instance2.getAttribute(i).getValue()) {
29
+ result += 1;
30
+ }
31
+ }
32
+ else {
33
+ if (instance1.getAttribute(i) instanceof ContinuousAttribute_1.ContinuousAttribute && instance2.getAttribute(i) instanceof ContinuousAttribute_1.ContinuousAttribute) {
34
+ result += Math.pow(instance1.getAttribute(i).getValue() - instance2.getAttribute(i).getValue(), 2);
35
+ }
36
+ }
37
+ }
38
+ return result;
39
+ }
40
+ }
41
+ exports.EuclidianDistance = EuclidianDistance;
42
+ });
43
+ //# sourceMappingURL=EuclidianDistance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EuclidianDistance.js","sourceRoot":"","sources":["../../source/DistanceMetric/EuclidianDistance.ts"],"names":[],"mappings":";;;;;;;;;;;;IAEA,sEAAiE;IACjE,0EAAqE;IAErE,MAAa,iBAAiB;QAE1B;;;;;;;WAOG;QACH,QAAQ,CAAC,SAAmB,EAAE,SAAmB;YAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,qCAAiB,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,qCAAiB,EAAE;oBAClH,IAAyB,SAAS,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAyB,SAAS,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,IAAyB,SAAS,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,EAAE;wBAChM,MAAM,IAAI,CAAC,CAAC;qBACf;iBACJ;qBAAM;oBACH,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,yCAAmB,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,yCAAmB,EAAE;wBACtH,MAAM,IAAI,IAAI,CAAC,GAAG,CAAwB,SAAS,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,GAA0B,SAAS,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;qBACtJ;iBACJ;aACJ;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAEJ;IA1BD,8CA0BC"}
@@ -0,0 +1,20 @@
1
+ import { DistanceMetric } from "./DistanceMetric";
2
+ import { Instance } from "../Instance/Instance";
3
+ import { Matrix } from "nlptoolkit-math/dist/Matrix";
4
+ export declare class MahalanobisDistance implements DistanceMetric {
5
+ private covarianceInverse;
6
+ /**
7
+ * Constructor for the MahalanobisDistance class. Basically sets the inverse of the covariance matrix.
8
+ *
9
+ * @param covarianceInverse Inverse of the covariance matrix.
10
+ */
11
+ constructor(covarianceInverse: Matrix);
12
+ /**
13
+ * Calculates Mahalanobis distance between two instances. (x^(1) - x^(2)) S (x^(1) - x^(2))^T
14
+ *
15
+ * @param instance1 First instance.
16
+ * @param instance2 Second instance.
17
+ * @return Mahalanobis distance between two instances.
18
+ */
19
+ distance(instance1: Instance, instance2: Instance): number;
20
+ }
@@ -0,0 +1,39 @@
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"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MahalanobisDistance = void 0;
13
+ class MahalanobisDistance {
14
+ /**
15
+ * Constructor for the MahalanobisDistance class. Basically sets the inverse of the covariance matrix.
16
+ *
17
+ * @param covarianceInverse Inverse of the covariance matrix.
18
+ */
19
+ constructor(covarianceInverse) {
20
+ this.covarianceInverse = covarianceInverse;
21
+ }
22
+ /**
23
+ * Calculates Mahalanobis distance between two instances. (x^(1) - x^(2)) S (x^(1) - x^(2))^T
24
+ *
25
+ * @param instance1 First instance.
26
+ * @param instance2 Second instance.
27
+ * @return Mahalanobis distance between two instances.
28
+ */
29
+ distance(instance1, instance2) {
30
+ let v1 = instance1.toVector();
31
+ let v2 = instance2.toVector();
32
+ v1.subtract(v2);
33
+ let v3 = this.covarianceInverse.multiplyWithVectorFromLeft(v1);
34
+ return v3.dotProduct(v1);
35
+ }
36
+ }
37
+ exports.MahalanobisDistance = MahalanobisDistance;
38
+ });
39
+ //# sourceMappingURL=MahalanobisDistance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MahalanobisDistance.js","sourceRoot":"","sources":["../../source/DistanceMetric/MahalanobisDistance.ts"],"names":[],"mappings":";;;;;;;;;;;;IAIA,MAAa,mBAAmB;QAI5B;;;;WAIG;QACH,YAAY,iBAAyB;YACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC9C,CAAC;QAED;;;;;;WAMG;QACH,QAAQ,CAAC,SAAmB,EAAE,SAAmB;YAC7C,IAAI,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9B,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;KAEJ;IA5BD,kDA4BC"}
@@ -0,0 +1,19 @@
1
+ import { MultipleRun } from "./MultipleRun";
2
+ import { Experiment } from "./Experiment";
3
+ import { ExperimentPerformance } from "../Performance/ExperimentPerformance";
4
+ export declare class BootstrapRun implements MultipleRun {
5
+ private numberOfBootstraps;
6
+ /**
7
+ * Constructor for BootstrapRun class. Basically sets the number of bootstrap runs.
8
+ *
9
+ * @param numberOfBootstraps Number of bootstrap runs.
10
+ */
11
+ constructor(numberOfBootstraps: number);
12
+ /**
13
+ * Execute the bootstrap run with the given classifier on the given data set using the given parameters.
14
+ *
15
+ * @param experiment Experiment to be run.
16
+ * @return An ExperimentPerformance instance.
17
+ */
18
+ execute(experiment: Experiment): ExperimentPerformance;
19
+ }
@@ -0,0 +1,44 @@
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", "../Performance/ExperimentPerformance", "nlptoolkit-sampling/dist/Bootstrap", "../InstanceList/InstanceList"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BootstrapRun = void 0;
13
+ const ExperimentPerformance_1 = require("../Performance/ExperimentPerformance");
14
+ const Bootstrap_1 = require("nlptoolkit-sampling/dist/Bootstrap");
15
+ const InstanceList_1 = require("../InstanceList/InstanceList");
16
+ class BootstrapRun {
17
+ /**
18
+ * Constructor for BootstrapRun class. Basically sets the number of bootstrap runs.
19
+ *
20
+ * @param numberOfBootstraps Number of bootstrap runs.
21
+ */
22
+ constructor(numberOfBootstraps) {
23
+ this.numberOfBootstraps = numberOfBootstraps;
24
+ }
25
+ /**
26
+ * Execute the bootstrap run with the given classifier on the given data set using the given parameters.
27
+ *
28
+ * @param experiment Experiment to be run.
29
+ * @return An ExperimentPerformance instance.
30
+ */
31
+ execute(experiment) {
32
+ let result = new ExperimentPerformance_1.ExperimentPerformance();
33
+ for (let i = 0; i < this.numberOfBootstraps; i++) {
34
+ let bootstrap = new Bootstrap_1.Bootstrap(experiment.getDataSet().getInstances(), i + experiment.getParameter().getSeed());
35
+ let bootstrapSample = new InstanceList_1.InstanceList(bootstrap.getSample());
36
+ experiment.getClassifier().train(bootstrapSample, experiment.getParameter());
37
+ result.add(experiment.getClassifier().test(experiment.getDataSet().getInstanceList()));
38
+ }
39
+ return result;
40
+ }
41
+ }
42
+ exports.BootstrapRun = BootstrapRun;
43
+ });
44
+ //# sourceMappingURL=BootstrapRun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BootstrapRun.js","sourceRoot":"","sources":["../../source/Experiment/BootstrapRun.ts"],"names":[],"mappings":";;;;;;;;;;;;IAEA,gFAA2E;IAC3E,kEAA6D;IAC7D,+DAA0D;IAG1D,MAAa,YAAY;QAIrB;;;;WAIG;QACH,YAAY,kBAA0B;YAClC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAChD,CAAC;QAED;;;;;WAKG;QACH,OAAO,CAAC,UAAsB;YAC1B,IAAI,MAAM,GAAG,IAAI,6CAAqB,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,SAAS,GAAG,IAAI,qBAAS,CAAW,UAAU,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzH,IAAI,eAAe,GAAG,IAAI,2BAAY,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC9D,UAAU,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC7E,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;aAC1F;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ;IA7BD,oCA6BC"}
@@ -0,0 +1,37 @@
1
+ import { Classifier } from "../Classifier/Classifier";
2
+ import { Parameter } from "../Parameter/Parameter";
3
+ import { DataSet } from "../DataSet/DataSet";
4
+ import { FeatureSubSet } from "../FeatureSelection/FeatureSubSet";
5
+ export declare class Experiment {
6
+ private classifier;
7
+ private parameter;
8
+ private dataSet;
9
+ /**
10
+ * Constructor for a specific machine learning experiment
11
+ * @param classifier Classifier used in the machine learning experiment
12
+ * @param parameter Parameter(s) of the classifier.
13
+ * @param dataSet DataSet on which the classifier is run.
14
+ */
15
+ constructor(classifier: Classifier, parameter: Parameter, dataSet: DataSet);
16
+ /**
17
+ * Accessor for the classifier attribute.
18
+ * @return Classifier attribute.
19
+ */
20
+ getClassifier(): Classifier;
21
+ /**
22
+ * Accessor for the parameter attribute.
23
+ * @return Parameter attribute.
24
+ */
25
+ getParameter(): Parameter;
26
+ /**
27
+ * Accessor for the dataSet attribute.
28
+ * @return DataSet attribute.
29
+ */
30
+ getDataSet(): DataSet;
31
+ /**
32
+ * Construct and returns a feature selection experiment.
33
+ * @param featureSubSet Feature subset used in the feature selection experiment
34
+ * @return Experiment constructed
35
+ */
36
+ featureSelectedExperiment(featureSubSet: FeatureSubSet): Experiment;
37
+ }
@@ -0,0 +1,57 @@
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"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Experiment = void 0;
13
+ class Experiment {
14
+ /**
15
+ * Constructor for a specific machine learning experiment
16
+ * @param classifier Classifier used in the machine learning experiment
17
+ * @param parameter Parameter(s) of the classifier.
18
+ * @param dataSet DataSet on which the classifier is run.
19
+ */
20
+ constructor(classifier, parameter, dataSet) {
21
+ this.classifier = classifier;
22
+ this.parameter = parameter;
23
+ this.dataSet = dataSet;
24
+ }
25
+ /**
26
+ * Accessor for the classifier attribute.
27
+ * @return Classifier attribute.
28
+ */
29
+ getClassifier() {
30
+ return this.classifier;
31
+ }
32
+ /**
33
+ * Accessor for the parameter attribute.
34
+ * @return Parameter attribute.
35
+ */
36
+ getParameter() {
37
+ return this.parameter;
38
+ }
39
+ /**
40
+ * Accessor for the dataSet attribute.
41
+ * @return DataSet attribute.
42
+ */
43
+ getDataSet() {
44
+ return this.dataSet;
45
+ }
46
+ /**
47
+ * Construct and returns a feature selection experiment.
48
+ * @param featureSubSet Feature subset used in the feature selection experiment
49
+ * @return Experiment constructed
50
+ */
51
+ featureSelectedExperiment(featureSubSet) {
52
+ return new Experiment(this.classifier, this.parameter, this.dataSet.getSubSetOfFeatures(featureSubSet));
53
+ }
54
+ }
55
+ exports.Experiment = Experiment;
56
+ });
57
+ //# sourceMappingURL=Experiment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Experiment.js","sourceRoot":"","sources":["../../source/Experiment/Experiment.ts"],"names":[],"mappings":";;;;;;;;;;;;IAKA,MAAa,UAAU;QAMnB;;;;;WAKG;QACH,YAAY,UAAsB,EAAE,SAAoB,EAAE,OAAgB;YACtE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAC1B,CAAC;QAED;;;WAGG;QACH,aAAa;YACT,OAAO,IAAI,CAAC,UAAU,CAAA;QAC1B,CAAC;QAED;;;WAGG;QACH,YAAY;YACR,OAAO,IAAI,CAAC,SAAS,CAAA;QACzB,CAAC;QAED;;;WAGG;QACH,UAAU;YACN,OAAO,IAAI,CAAC,OAAO,CAAA;QACvB,CAAC;QAED;;;;WAIG;QACH,yBAAyB,CAAC,aAA4B;YAClD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5G,CAAC;KAEJ;IAnDD,gCAmDC"}
@@ -0,0 +1,19 @@
1
+ import { MultipleRun } from "./MultipleRun";
2
+ import { Experiment } from "./Experiment";
3
+ import { ExperimentPerformance } from "../Performance/ExperimentPerformance";
4
+ import { Classifier } from "../Classifier/Classifier";
5
+ import { Parameter } from "../Parameter/Parameter";
6
+ import { CrossValidation } from "nlptoolkit-sampling/dist/CrossValidation";
7
+ import { Instance } from "../Instance/Instance";
8
+ export declare class KFoldRun implements MultipleRun {
9
+ protected K: number;
10
+ constructor(K: number);
11
+ protected runExperiment(classifier: Classifier, parameter: Parameter, experimentPerformance: ExperimentPerformance, crossValidation: CrossValidation<Instance>): void;
12
+ /**
13
+ * Execute K-fold cross-validation with the given classifier on the given data set using the given parameters.
14
+ *
15
+ * @param experiment Experiment to be run.
16
+ * @return An ExperimentPerformance instance.
17
+ */
18
+ execute(experiment: Experiment): ExperimentPerformance;
19
+ }
@@ -0,0 +1,43 @@
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", "../Performance/ExperimentPerformance", "../InstanceList/InstanceList", "nlptoolkit-sampling/dist/KFoldCrossValidation"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.KFoldRun = void 0;
13
+ const ExperimentPerformance_1 = require("../Performance/ExperimentPerformance");
14
+ const InstanceList_1 = require("../InstanceList/InstanceList");
15
+ const KFoldCrossValidation_1 = require("nlptoolkit-sampling/dist/KFoldCrossValidation");
16
+ class KFoldRun {
17
+ constructor(K) {
18
+ this.K = K;
19
+ }
20
+ runExperiment(classifier, parameter, experimentPerformance, crossValidation) {
21
+ for (let i = 0; i < this.K; i++) {
22
+ let trainSet = new InstanceList_1.InstanceList(crossValidation.getTrainFold(i));
23
+ let testSet = new InstanceList_1.InstanceList(crossValidation.getTestFold(i));
24
+ classifier.train(trainSet, parameter);
25
+ experimentPerformance.add(classifier.test(testSet));
26
+ }
27
+ }
28
+ /**
29
+ * Execute K-fold cross-validation with the given classifier on the given data set using the given parameters.
30
+ *
31
+ * @param experiment Experiment to be run.
32
+ * @return An ExperimentPerformance instance.
33
+ */
34
+ execute(experiment) {
35
+ let result = new ExperimentPerformance_1.ExperimentPerformance();
36
+ let crossValidation = new KFoldCrossValidation_1.KFoldCrossValidation(experiment.getDataSet().getInstances(), this.K, experiment.getParameter().getSeed());
37
+ this.runExperiment(experiment.getClassifier(), experiment.getParameter(), result, crossValidation);
38
+ return result;
39
+ }
40
+ }
41
+ exports.KFoldRun = KFoldRun;
42
+ });
43
+ //# sourceMappingURL=KFoldRun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KFoldRun.js","sourceRoot":"","sources":["../../source/Experiment/KFoldRun.ts"],"names":[],"mappings":";;;;;;;;;;;;IAEA,gFAA2E;IAK3E,+DAA0D;IAC1D,wFAAmF;IAEnF,MAAa,QAAQ;QAIjB,YAAY,CAAS;YACjB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;QAES,aAAa,CAAC,UAAsB,EACtB,SAAoB,EACpB,qBAA4C,EAC5C,eAA0C;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC7B,IAAI,QAAQ,GAAG,IAAI,2BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,OAAO,GAAG,IAAI,2BAAY,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACtC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aACvD;QACL,CAAC;QAED;;;;;WAKG;QACH,OAAO,CAAC,UAAsB;YAC1B,IAAI,MAAM,GAAG,IAAI,6CAAqB,EAAE,CAAC;YACzC,IAAI,eAAe,GAAG,IAAI,2CAAoB,CAAW,UAAU,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9I,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;YACnG,OAAO,MAAM,CAAC;QAClB,CAAC;KAEJ;IAjCD,4BAiCC"}
@@ -0,0 +1,24 @@
1
+ import { KFoldRun } from "./KFoldRun";
2
+ import { Classifier } from "../Classifier/Classifier";
3
+ import { Parameter } from "../Parameter/Parameter";
4
+ import { ExperimentPerformance } from "../Performance/ExperimentPerformance";
5
+ import { InstanceList } from "../InstanceList/InstanceList";
6
+ import { CrossValidation } from "nlptoolkit-sampling/dist/CrossValidation";
7
+ import { Instance } from "../Instance/Instance";
8
+ import { Experiment } from "./Experiment";
9
+ export declare class KFoldRunSeparateTest extends KFoldRun {
10
+ /**
11
+ * Constructor for KFoldRunSeparateTest class. Basically sets K parameter of the K-fold cross-validation.
12
+ *
13
+ * @param K K of the K-fold cross-validation.
14
+ */
15
+ constructor(K: number);
16
+ protected runExperiment(classifier: Classifier, parameter: Parameter, experimentPerformance: ExperimentPerformance, crossValidation: CrossValidation<Instance>, testSet?: InstanceList): void;
17
+ /**
18
+ * Execute K-fold cross-validation with separate test set with the given classifier on the given data set using the given parameters.
19
+ *
20
+ * @param experiment Experiment to be run.
21
+ * @return An ExperimentPerformance instance.
22
+ */
23
+ execute(experiment: Experiment): ExperimentPerformance;
24
+ }
@@ -0,0 +1,51 @@
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", "./KFoldRun", "../Performance/ExperimentPerformance", "../InstanceList/InstanceList", "nlptoolkit-sampling/dist/KFoldCrossValidation", "../InstanceList/Partition"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.KFoldRunSeparateTest = void 0;
13
+ const KFoldRun_1 = require("./KFoldRun");
14
+ const ExperimentPerformance_1 = require("../Performance/ExperimentPerformance");
15
+ const InstanceList_1 = require("../InstanceList/InstanceList");
16
+ const KFoldCrossValidation_1 = require("nlptoolkit-sampling/dist/KFoldCrossValidation");
17
+ const Partition_1 = require("../InstanceList/Partition");
18
+ class KFoldRunSeparateTest extends KFoldRun_1.KFoldRun {
19
+ /**
20
+ * Constructor for KFoldRunSeparateTest class. Basically sets K parameter of the K-fold cross-validation.
21
+ *
22
+ * @param K K of the K-fold cross-validation.
23
+ */
24
+ constructor(K) {
25
+ super(K);
26
+ }
27
+ runExperiment(classifier, parameter, experimentPerformance, crossValidation, testSet) {
28
+ for (let i = 0; i < this.K; i++) {
29
+ let trainSet = new InstanceList_1.InstanceList(crossValidation.getTrainFold(i));
30
+ classifier.train(trainSet, parameter);
31
+ experimentPerformance.add(classifier.test(testSet));
32
+ }
33
+ }
34
+ /**
35
+ * Execute K-fold cross-validation with separate test set with the given classifier on the given data set using the given parameters.
36
+ *
37
+ * @param experiment Experiment to be run.
38
+ * @return An ExperimentPerformance instance.
39
+ */
40
+ execute(experiment) {
41
+ let result = new ExperimentPerformance_1.ExperimentPerformance();
42
+ let instanceList = experiment.getDataSet().getInstanceList();
43
+ let partition = new Partition_1.Partition(instanceList, 0.25, true);
44
+ let crossValidation = new KFoldCrossValidation_1.KFoldCrossValidation(partition.get(1).getInstances(), this.K, experiment.getParameter().getSeed());
45
+ this.runExperiment(experiment.getClassifier(), experiment.getParameter(), result, crossValidation, partition.get(0));
46
+ return result;
47
+ }
48
+ }
49
+ exports.KFoldRunSeparateTest = KFoldRunSeparateTest;
50
+ });
51
+ //# sourceMappingURL=KFoldRunSeparateTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KFoldRunSeparateTest.js","sourceRoot":"","sources":["../../source/Experiment/KFoldRunSeparateTest.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,yCAAoC;IAGpC,gFAA2E;IAC3E,+DAA0D;IAI1D,wFAAmF;IACnF,yDAAoD;IAEpD,MAAa,oBAAqB,SAAQ,mBAAQ;QAE9C;;;;WAIG;QACH,YAAY,CAAS;YACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;QAES,aAAa,CAAC,UAAsB,EACtB,SAAoB,EACpB,qBAA4C,EAC5C,eAA0C,EAC1C,OAAsB;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC7B,IAAI,QAAQ,GAAG,IAAI,2BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACtC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aACvD;QACL,CAAC;QAED;;;;;WAKG;QACH,OAAO,CAAC,UAAsB;YAC1B,IAAI,MAAM,GAAG,IAAI,6CAAqB,EAAE,CAAC;YACzC,IAAI,YAAY,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC;YAC7D,IAAI,SAAS,GAAG,IAAI,qBAAS,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,eAAe,GAAG,IAAI,2CAAoB,CAAW,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACvI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrH,OAAO,MAAM,CAAC;QAClB,CAAC;KAEJ;IAtCD,oDAsCC"}
@@ -0,0 +1,5 @@
1
+ import { Experiment } from "./Experiment";
2
+ import { ExperimentPerformance } from "../Performance/ExperimentPerformance";
3
+ export interface MultipleRun {
4
+ execute(experiment: Experiment): ExperimentPerformance;
5
+ }
@@ -0,0 +1,13 @@
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"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ });
13
+ //# sourceMappingURL=MultipleRun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipleRun.js","sourceRoot":"","sources":["../../source/Experiment/MultipleRun.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { KFoldRun } from "./KFoldRun";
2
+ import { Experiment } from "./Experiment";
3
+ import { ExperimentPerformance } from "../Performance/ExperimentPerformance";
4
+ export declare class MxKFoldRun extends KFoldRun {
5
+ protected M: number;
6
+ /**
7
+ * Constructor for MxKFoldRun class. Basically sets K parameter of the K-fold cross-validation and M for the number of times.
8
+ *
9
+ * @param M number of cross-validation times.
10
+ * @param K K of the K-fold cross-validation.
11
+ */
12
+ constructor(M: number, K: number);
13
+ /**
14
+ * Execute the MxKFold run with the given classifier on the given data set using the given parameters.
15
+ *
16
+ * @param experiment Experiment to be run.
17
+ * @return An ExperimentPerformance instance.
18
+ */
19
+ execute(experiment: Experiment): ExperimentPerformance;
20
+ }
@@ -0,0 +1,44 @@
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", "./KFoldRun", "../Performance/ExperimentPerformance", "nlptoolkit-sampling/dist/KFoldCrossValidation"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MxKFoldRun = void 0;
13
+ const KFoldRun_1 = require("./KFoldRun");
14
+ const ExperimentPerformance_1 = require("../Performance/ExperimentPerformance");
15
+ const KFoldCrossValidation_1 = require("nlptoolkit-sampling/dist/KFoldCrossValidation");
16
+ class MxKFoldRun extends KFoldRun_1.KFoldRun {
17
+ /**
18
+ * Constructor for MxKFoldRun class. Basically sets K parameter of the K-fold cross-validation and M for the number of times.
19
+ *
20
+ * @param M number of cross-validation times.
21
+ * @param K K of the K-fold cross-validation.
22
+ */
23
+ constructor(M, K) {
24
+ super(K);
25
+ this.M = M;
26
+ }
27
+ /**
28
+ * Execute the MxKFold run with the given classifier on the given data set using the given parameters.
29
+ *
30
+ * @param experiment Experiment to be run.
31
+ * @return An ExperimentPerformance instance.
32
+ */
33
+ execute(experiment) {
34
+ let result = new ExperimentPerformance_1.ExperimentPerformance();
35
+ for (let j = 0; j < this.M; j++) {
36
+ let crossValidation = new KFoldCrossValidation_1.KFoldCrossValidation(experiment.getDataSet().getInstances(), this.K, experiment.getParameter().getSeed());
37
+ this.runExperiment(experiment.getClassifier(), experiment.getParameter(), result, crossValidation);
38
+ }
39
+ return result;
40
+ }
41
+ }
42
+ exports.MxKFoldRun = MxKFoldRun;
43
+ });
44
+ //# sourceMappingURL=MxKFoldRun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MxKFoldRun.js","sourceRoot":"","sources":["../../source/Experiment/MxKFoldRun.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,yCAAoC;IAEpC,gFAA2E;IAC3E,wFAAmF;IAGnF,MAAa,UAAW,SAAQ,mBAAQ;QAIpC;;;;;WAKG;QACH,YAAY,CAAS,EAAE,CAAS;YAC5B,KAAK,CAAC,CAAC,CAAC,CAAC;YACT,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;QAED;;;;;WAKG;QACH,OAAO,CAAC,UAAsB;YAC1B,IAAI,MAAM,GAAG,IAAI,6CAAqB,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC7B,IAAI,eAAe,GAAG,IAAI,2CAAoB,CAAW,UAAU,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9I,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;aACtG;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAEJ;IA9BD,gCA8BC"}
@@ -0,0 +1,21 @@
1
+ import { KFoldRunSeparateTest } from "./KFoldRunSeparateTest";
2
+ import { ExperimentPerformance } from "../Performance/ExperimentPerformance";
3
+ import { Experiment } from "./Experiment";
4
+ export declare class MxKFoldRunSeparateTest extends KFoldRunSeparateTest {
5
+ protected M: number;
6
+ /**
7
+ * Constructor for KFoldRunSeparateTest class. Basically sets K parameter of the K-fold cross-validation and M for
8
+ * the number of times.
9
+ *
10
+ * @param M number of cross-validation times.
11
+ * @param K K of the K-fold cross-validation.
12
+ */
13
+ constructor(M: number, K: number);
14
+ /**
15
+ * Execute the MxKFold run with separate test set with the given classifier on the given data set using the given parameters.
16
+ *
17
+ * @param experiment Experiment to be run.
18
+ * @return An ExperimentPerformance instance.
19
+ */
20
+ execute(experiment: Experiment): ExperimentPerformance;
21
+ }