nlptoolkit-classification 1.0.8 → 1.0.9

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 (178) hide show
  1. package/dist/Attribute/Attribute.js +6 -16
  2. package/dist/Attribute/Attribute.js.map +1 -1
  3. package/dist/Attribute/AttributeType.js +22 -32
  4. package/dist/Attribute/AttributeType.js.map +1 -1
  5. package/dist/Attribute/BinaryAttribute.js +14 -24
  6. package/dist/Attribute/BinaryAttribute.js.map +1 -1
  7. package/dist/Attribute/ContinuousAttribute.js +46 -55
  8. package/dist/Attribute/ContinuousAttribute.js.map +1 -1
  9. package/dist/Attribute/DiscreteAttribute.js +38 -48
  10. package/dist/Attribute/DiscreteAttribute.js.map +1 -1
  11. package/dist/Attribute/DiscreteIndexedAttribute.js +47 -55
  12. package/dist/Attribute/DiscreteIndexedAttribute.js.map +1 -1
  13. package/dist/DataSet/DataDefinition.js +115 -123
  14. package/dist/DataSet/DataDefinition.js.map +1 -1
  15. package/dist/DataSet/DataSet.js +268 -245
  16. package/dist/DataSet/DataSet.js.map +1 -1
  17. package/dist/DistanceMetric/DistanceMetric.js +2 -12
  18. package/dist/DistanceMetric/EuclidianDistance.js +27 -37
  19. package/dist/DistanceMetric/EuclidianDistance.js.map +1 -1
  20. package/dist/DistanceMetric/MahalanobisDistance.js +27 -36
  21. package/dist/DistanceMetric/MahalanobisDistance.js.map +1 -1
  22. package/dist/Experiment/BootstrapRun.js +31 -40
  23. package/dist/Experiment/BootstrapRun.js.map +1 -1
  24. package/dist/Experiment/Experiment.js +46 -53
  25. package/dist/Experiment/Experiment.js.map +1 -1
  26. package/dist/Experiment/KFoldRun.js +45 -54
  27. package/dist/Experiment/KFoldRun.js.map +1 -1
  28. package/dist/Experiment/KFoldRunSeparateTest.js +48 -58
  29. package/dist/Experiment/KFoldRunSeparateTest.js.map +1 -1
  30. package/dist/Experiment/MultipleRun.js +2 -12
  31. package/dist/Experiment/MxKFoldRun.js +31 -40
  32. package/dist/Experiment/MxKFoldRun.js.map +1 -1
  33. package/dist/Experiment/MxKFoldRunSeparateTest.js +35 -44
  34. package/dist/Experiment/MxKFoldRunSeparateTest.js.map +1 -1
  35. package/dist/Experiment/SingleRun.js +2 -12
  36. package/dist/Experiment/SingleRunWithK.js +39 -48
  37. package/dist/Experiment/SingleRunWithK.js.map +1 -1
  38. package/dist/Experiment/StratifiedKFoldRun.js +26 -36
  39. package/dist/Experiment/StratifiedKFoldRun.js.map +1 -1
  40. package/dist/Experiment/StratifiedKFoldRunSeparateTest.js +30 -40
  41. package/dist/Experiment/StratifiedKFoldRunSeparateTest.js.map +1 -1
  42. package/dist/Experiment/StratifiedMxKFoldRun.js +29 -39
  43. package/dist/Experiment/StratifiedMxKFoldRun.js.map +1 -1
  44. package/dist/Experiment/StratifiedMxKFoldRunSeparateTest.js +34 -43
  45. package/dist/Experiment/StratifiedMxKFoldRunSeparateTest.js.map +1 -1
  46. package/dist/Experiment/StratifiedSingleRunWithK.js +27 -36
  47. package/dist/Experiment/StratifiedSingleRunWithK.js.map +1 -1
  48. package/dist/FeatureSelection/BackwardSelection.js +26 -36
  49. package/dist/FeatureSelection/BackwardSelection.js.map +1 -1
  50. package/dist/FeatureSelection/FeatureSubSet.js +72 -82
  51. package/dist/FeatureSelection/FeatureSubSet.js.map +1 -1
  52. package/dist/FeatureSelection/FloatingSelection.js +25 -35
  53. package/dist/FeatureSelection/FloatingSelection.js.map +1 -1
  54. package/dist/FeatureSelection/ForwardSelection.js +25 -35
  55. package/dist/FeatureSelection/ForwardSelection.js.map +1 -1
  56. package/dist/FeatureSelection/SubSetSelection.js +69 -78
  57. package/dist/FeatureSelection/SubSetSelection.js.map +1 -1
  58. package/dist/Filter/DiscreteToContinuous.js +50 -60
  59. package/dist/Filter/DiscreteToContinuous.js.map +1 -1
  60. package/dist/Filter/DiscreteToIndexed.js +40 -50
  61. package/dist/Filter/DiscreteToIndexed.js.map +1 -1
  62. package/dist/Filter/FeatureFilter.js +23 -32
  63. package/dist/Filter/FeatureFilter.js.map +1 -1
  64. package/dist/Filter/LaryFilter.js +46 -55
  65. package/dist/Filter/LaryFilter.js.map +1 -1
  66. package/dist/Filter/LaryToBinary.js +48 -58
  67. package/dist/Filter/LaryToBinary.js.map +1 -1
  68. package/dist/Filter/Normalize.js +33 -41
  69. package/dist/Filter/Normalize.js.map +1 -1
  70. package/dist/Filter/Pca.js +86 -96
  71. package/dist/Filter/Pca.js.map +1 -1
  72. package/dist/Filter/TrainedFeatureFilter.js +14 -24
  73. package/dist/Filter/TrainedFeatureFilter.js.map +1 -1
  74. package/dist/Instance/CompositeInstance.js +46 -56
  75. package/dist/Instance/CompositeInstance.js.map +1 -1
  76. package/dist/Instance/Instance.js +145 -154
  77. package/dist/Instance/Instance.js.map +1 -1
  78. package/dist/InstanceList/InstanceList.js +466 -443
  79. package/dist/InstanceList/InstanceList.js.map +1 -1
  80. package/dist/InstanceList/InstanceListOfSameClass.js +23 -32
  81. package/dist/InstanceList/InstanceListOfSameClass.js.map +1 -1
  82. package/dist/InstanceList/Partition.js +167 -177
  83. package/dist/InstanceList/Partition.js.map +1 -1
  84. package/dist/Model/DecisionTree/DecisionCondition.js +71 -80
  85. package/dist/Model/DecisionTree/DecisionCondition.js.map +1 -1
  86. package/dist/Model/DecisionTree/DecisionNode.js +302 -311
  87. package/dist/Model/DecisionTree/DecisionNode.js.map +1 -1
  88. package/dist/Model/DecisionTree/DecisionStump.js +22 -32
  89. package/dist/Model/DecisionTree/DecisionStump.js.map +1 -1
  90. package/dist/Model/DecisionTree/DecisionTree.js +89 -98
  91. package/dist/Model/DecisionTree/DecisionTree.js.map +1 -1
  92. package/dist/Model/DummyModel.js +64 -73
  93. package/dist/Model/DummyModel.js.map +1 -1
  94. package/dist/Model/Ensemble/BaggingModel.js +34 -44
  95. package/dist/Model/Ensemble/BaggingModel.js.map +1 -1
  96. package/dist/Model/Ensemble/RandomForestModel.js +31 -41
  97. package/dist/Model/Ensemble/RandomForestModel.js.map +1 -1
  98. package/dist/Model/Ensemble/TreeEnsembleModel.js +55 -64
  99. package/dist/Model/Ensemble/TreeEnsembleModel.js.map +1 -1
  100. package/dist/Model/Model.js +130 -140
  101. package/dist/Model/Model.js.map +1 -1
  102. package/dist/Model/NeuralNetwork/DeepNetworkModel.js +162 -169
  103. package/dist/Model/NeuralNetwork/DeepNetworkModel.js.map +1 -1
  104. package/dist/Model/NeuralNetwork/LinearPerceptronModel.js +69 -78
  105. package/dist/Model/NeuralNetwork/LinearPerceptronModel.js.map +1 -1
  106. package/dist/Model/NeuralNetwork/MultiLayerPerceptronModel.js +112 -120
  107. package/dist/Model/NeuralNetwork/MultiLayerPerceptronModel.js.map +1 -1
  108. package/dist/Model/NeuralNetwork/NeuralNetworkModel.js +197 -201
  109. package/dist/Model/NeuralNetwork/NeuralNetworkModel.js.map +1 -1
  110. package/dist/Model/NonParametric/KnnInstance.js +21 -29
  111. package/dist/Model/NonParametric/KnnInstance.js.map +1 -1
  112. package/dist/Model/NonParametric/KnnModel.js +101 -108
  113. package/dist/Model/NonParametric/KnnModel.js.map +1 -1
  114. package/dist/Model/Parametric/GaussianModel.js +82 -91
  115. package/dist/Model/Parametric/GaussianModel.js.map +1 -1
  116. package/dist/Model/Parametric/KMeansModel.js +59 -67
  117. package/dist/Model/Parametric/KMeansModel.js.map +1 -1
  118. package/dist/Model/Parametric/LdaModel.js +83 -91
  119. package/dist/Model/Parametric/LdaModel.js.map +1 -1
  120. package/dist/Model/Parametric/NaiveBayesModel.js +119 -132
  121. package/dist/Model/Parametric/NaiveBayesModel.js.map +1 -1
  122. package/dist/Model/Parametric/QdaModel.js +70 -79
  123. package/dist/Model/Parametric/QdaModel.js.map +1 -1
  124. package/dist/Model/RandomModel.js +85 -92
  125. package/dist/Model/RandomModel.js.map +1 -1
  126. package/dist/Model/ValidatedModel.js +21 -31
  127. package/dist/Model/ValidatedModel.js.map +1 -1
  128. package/dist/Parameter/ActivationFunction.js +9 -19
  129. package/dist/Parameter/ActivationFunction.js.map +1 -1
  130. package/dist/Parameter/BaggingParameter.js +24 -33
  131. package/dist/Parameter/BaggingParameter.js.map +1 -1
  132. package/dist/Parameter/C45Parameter.js +34 -42
  133. package/dist/Parameter/C45Parameter.js.map +1 -1
  134. package/dist/Parameter/DeepNetworkParameter.js +48 -56
  135. package/dist/Parameter/DeepNetworkParameter.js.map +1 -1
  136. package/dist/Parameter/KMeansParameter.js +29 -38
  137. package/dist/Parameter/KMeansParameter.js.map +1 -1
  138. package/dist/Parameter/KnnParameter.js +25 -34
  139. package/dist/Parameter/KnnParameter.js.map +1 -1
  140. package/dist/Parameter/LinearPerceptronParameter.js +56 -62
  141. package/dist/Parameter/LinearPerceptronParameter.js.map +1 -1
  142. package/dist/Parameter/MultiLayerPerceptronParameter.js +38 -46
  143. package/dist/Parameter/MultiLayerPerceptronParameter.js.map +1 -1
  144. package/dist/Parameter/Parameter.js +21 -30
  145. package/dist/Parameter/Parameter.js.map +1 -1
  146. package/dist/Parameter/RandomForestParameter.js +25 -34
  147. package/dist/Parameter/RandomForestParameter.js.map +1 -1
  148. package/dist/Performance/ClassificationPerformance.js +24 -33
  149. package/dist/Performance/ClassificationPerformance.js.map +1 -1
  150. package/dist/Performance/ConfusionMatrix.js +149 -158
  151. package/dist/Performance/ConfusionMatrix.js.map +1 -1
  152. package/dist/Performance/DetailedClassificationPerformance.js +23 -32
  153. package/dist/Performance/DetailedClassificationPerformance.js.map +1 -1
  154. package/dist/Performance/ExperimentPerformance.js +184 -161
  155. package/dist/Performance/ExperimentPerformance.js.map +1 -1
  156. package/dist/Performance/Performance.js +21 -30
  157. package/dist/Performance/Performance.js.map +1 -1
  158. package/dist/StatisticalTest/Combined5x2F.js +41 -51
  159. package/dist/StatisticalTest/Combined5x2F.js.map +1 -1
  160. package/dist/StatisticalTest/Combined5x2t.js +42 -52
  161. package/dist/StatisticalTest/Combined5x2t.js.map +1 -1
  162. package/dist/StatisticalTest/Paired5x2t.js +40 -50
  163. package/dist/StatisticalTest/Paired5x2t.js.map +1 -1
  164. package/dist/StatisticalTest/PairedTest.js +31 -41
  165. package/dist/StatisticalTest/PairedTest.js.map +1 -1
  166. package/dist/StatisticalTest/Pairedt.js +38 -48
  167. package/dist/StatisticalTest/Pairedt.js.map +1 -1
  168. package/dist/StatisticalTest/Sign.js +50 -60
  169. package/dist/StatisticalTest/Sign.js.map +1 -1
  170. package/dist/StatisticalTest/StatisticalTestResult.js +65 -73
  171. package/dist/StatisticalTest/StatisticalTestResult.js.map +1 -1
  172. package/dist/StatisticalTest/StatisticalTestResultType.js +11 -21
  173. package/dist/StatisticalTest/StatisticalTestResultType.js.map +1 -1
  174. package/dist/index.js +95 -101
  175. package/dist/index.js.map +1 -1
  176. package/package.json +7 -6
  177. package/tsconfig.json +4 -3
  178. package/source/tsconfig.json +0 -13
@@ -1,43 +1,33 @@
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
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EuclidianDistance = void 0;
4
+ const DiscreteAttribute_1 = require("../Attribute/DiscreteAttribute");
5
+ const ContinuousAttribute_1 = require("../Attribute/ContinuousAttribute");
6
+ class EuclidianDistance {
7
+ /**
8
+ * Calculates Euclidian distance between two instances. For continuous features: \sum_{i=1}^d (x_i^(1) - x_i^(2))^2,
9
+ * For discrete features: \sum_{i=1}^d 1(x_i^(1) == x_i^(2))
10
+ *
11
+ * @param instance1 First instance
12
+ * @param instance2 Second instance
13
+ * @return Euclidian distance between two instances.
14
+ */
15
+ distance(instance1, instance2) {
16
+ let result = 0;
17
+ for (let i = 0; i < instance1.attributeSize(); i++) {
18
+ if (instance1.getAttribute(i) instanceof DiscreteAttribute_1.DiscreteAttribute && instance2.getAttribute(i) instanceof DiscreteAttribute_1.DiscreteAttribute) {
19
+ if (instance1.getAttribute(i).getValue() != null && instance1.getAttribute(i).getValue() != instance2.getAttribute(i).getValue()) {
20
+ result += 1;
31
21
  }
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
- }
22
+ }
23
+ else {
24
+ if (instance1.getAttribute(i) instanceof ContinuousAttribute_1.ContinuousAttribute && instance2.getAttribute(i) instanceof ContinuousAttribute_1.ContinuousAttribute) {
25
+ result += Math.pow(instance1.getAttribute(i).getValue() - instance2.getAttribute(i).getValue(), 2);
36
26
  }
37
27
  }
38
- return result;
39
28
  }
29
+ return result;
40
30
  }
41
- exports.EuclidianDistance = EuclidianDistance;
42
- });
31
+ }
32
+ exports.EuclidianDistance = EuclidianDistance;
43
33
  //# sourceMappingURL=EuclidianDistance.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"EuclidianDistance.js","sourceRoot":"","sources":["../../source/DistanceMetric/EuclidianDistance.ts"],"names":[],"mappings":";;;AAEA,sEAAiE;AACjE,0EAAqE;AAErE,MAAa,iBAAiB;IAE1B;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAmB,EAAE,SAAmB;QAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,qCAAiB,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,qCAAiB,EAAE,CAAC;gBACnH,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,CAAC;oBACjM,MAAM,IAAI,CAAC,CAAC;gBAChB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,yCAAmB,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,yCAAmB,EAAE,CAAC;oBACvH,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;gBACvJ,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ;AA1BD,8CA0BC"}
@@ -1,39 +1,30 @@
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;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MahalanobisDistance = void 0;
4
+ class MahalanobisDistance {
5
+ 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) {
12
+ this.covarianceInverse = covarianceInverse;
5
13
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
14
+ /**
15
+ * Calculates Mahalanobis distance between two instances. (x^(1) - x^(2)) S (x^(1) - x^(2))^T
16
+ *
17
+ * @param instance1 First instance.
18
+ * @param instance2 Second instance.
19
+ * @return Mahalanobis distance between two instances.
20
+ */
21
+ distance(instance1, instance2) {
22
+ let v1 = instance1.toVector();
23
+ let v2 = instance2.toVector();
24
+ v1.subtract(v2);
25
+ let v3 = this.covarianceInverse.multiplyWithVectorFromLeft(v1);
26
+ return v3.dotProduct(v1);
8
27
  }
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
- });
28
+ }
29
+ exports.MahalanobisDistance = MahalanobisDistance;
39
30
  //# sourceMappingURL=MahalanobisDistance.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"MahalanobisDistance.js","sourceRoot":"","sources":["../../source/DistanceMetric/MahalanobisDistance.ts"],"names":[],"mappings":";;;AAIA,MAAa,mBAAmB;IAEpB,iBAAiB,CAAQ;IAEjC;;;;OAIG;IACH,YAAY,iBAAyB;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,SAAmB,EAAE,SAAmB;QAC7C,IAAI,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9B,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;CAEJ;AA5BD,kDA4BC"}
@@ -1,44 +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;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BootstrapRun = void 0;
4
+ const ExperimentPerformance_1 = require("../Performance/ExperimentPerformance");
5
+ const Bootstrap_1 = require("nlptoolkit-sampling/dist/Bootstrap");
6
+ const InstanceList_1 = require("../InstanceList/InstanceList");
7
+ class BootstrapRun {
8
+ numberOfBootstraps;
9
+ /**
10
+ * Constructor for BootstrapRun class. Basically sets the number of bootstrap runs.
11
+ *
12
+ * @param numberOfBootstraps Number of bootstrap runs.
13
+ */
14
+ constructor(numberOfBootstraps) {
15
+ this.numberOfBootstraps = numberOfBootstraps;
5
16
  }
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.getmodel().train(bootstrapSample, experiment.getParameter());
37
- result.add(experiment.getmodel().test(experiment.getDataSet().getInstanceList()));
38
- }
39
- return result;
17
+ /**
18
+ * Execute the bootstrap run 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) {
24
+ let result = new ExperimentPerformance_1.ExperimentPerformance();
25
+ for (let i = 0; i < this.numberOfBootstraps; i++) {
26
+ let bootstrap = new Bootstrap_1.Bootstrap(experiment.getDataSet().getInstances(), i + experiment.getParameter().getSeed());
27
+ let bootstrapSample = new InstanceList_1.InstanceList(bootstrap.getSample());
28
+ experiment.getmodel().train(bootstrapSample, experiment.getParameter());
29
+ result.add(experiment.getmodel().test(experiment.getDataSet().getInstanceList()));
40
30
  }
31
+ return result;
41
32
  }
42
- exports.BootstrapRun = BootstrapRun;
43
- });
33
+ }
34
+ exports.BootstrapRun = BootstrapRun;
44
35
  //# sourceMappingURL=BootstrapRun.js.map
@@ -1 +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,QAAQ,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;gBACxE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;aACrF;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ;IA7BD,oCA6BC"}
1
+ {"version":3,"file":"BootstrapRun.js","sourceRoot":"","sources":["../../source/Experiment/BootstrapRun.ts"],"names":[],"mappings":";;;AAEA,gFAA2E;AAC3E,kEAA6D;AAC7D,+DAA0D;AAG1D,MAAa,YAAY;IAEb,kBAAkB,CAAQ;IAElC;;;;OAIG;IACH,YAAY,kBAA0B;QAClC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAChD,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,UAAsB;QAC1B,IAAI,MAAM,GAAG,IAAI,6CAAqB,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,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;YACzH,IAAI,eAAe,GAAG,IAAI,2BAAY,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;YAC9D,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA7BD,oCA6BC"}
@@ -1,57 +1,50 @@
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;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Experiment = void 0;
4
+ class Experiment {
5
+ model;
6
+ parameter;
7
+ dataSet;
8
+ /**
9
+ * Constructor for a specific machine learning experiment
10
+ * @param model Model used in the machine learning experiment
11
+ * @param parameter Parameter(s) of the classifier.
12
+ * @param dataSet DataSet on which the classifier is run.
13
+ */
14
+ constructor(model, parameter, dataSet) {
15
+ this.model = model;
16
+ this.parameter = parameter;
17
+ this.dataSet = dataSet;
5
18
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
19
+ /**
20
+ * Accessor for the classifier attribute.
21
+ * @return Classifier attribute.
22
+ */
23
+ getmodel() {
24
+ return this.model;
8
25
  }
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 model Model 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(model, parameter, dataSet) {
21
- this.model = model;
22
- this.parameter = parameter;
23
- this.dataSet = dataSet;
24
- }
25
- /**
26
- * Accessor for the classifier attribute.
27
- * @return Classifier attribute.
28
- */
29
- getmodel() {
30
- return this.model;
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.model, this.parameter, this.dataSet.getSubSetOfFeatures(featureSubSet));
53
- }
26
+ /**
27
+ * Accessor for the parameter attribute.
28
+ * @return Parameter attribute.
29
+ */
30
+ getParameter() {
31
+ return this.parameter;
54
32
  }
55
- exports.Experiment = Experiment;
56
- });
33
+ /**
34
+ * Accessor for the dataSet attribute.
35
+ * @return DataSet attribute.
36
+ */
37
+ getDataSet() {
38
+ return this.dataSet;
39
+ }
40
+ /**
41
+ * Construct and returns a feature selection experiment.
42
+ * @param featureSubSet Feature subset used in the feature selection experiment
43
+ * @return Experiment constructed
44
+ */
45
+ featureSelectedExperiment(featureSubSet) {
46
+ return new Experiment(this.model, this.parameter, this.dataSet.getSubSetOfFeatures(featureSubSet));
47
+ }
48
+ }
49
+ exports.Experiment = Experiment;
57
50
  //# sourceMappingURL=Experiment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Experiment.js","sourceRoot":"","sources":["../../source/Experiment/Experiment.ts"],"names":[],"mappings":";;;;;;;;;;;;IAKA,MAAa,UAAU;QAMnB;;;;;WAKG;QACH,YAAY,KAAY,EAAE,SAAoB,EAAE,OAAgB;YAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAC1B,CAAC;QAED;;;WAGG;QACH,QAAQ;YACJ,OAAO,IAAI,CAAC,KAAK,CAAA;QACrB,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,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;QACvG,CAAC;KAEJ;IAnDD,gCAmDC"}
1
+ {"version":3,"file":"Experiment.js","sourceRoot":"","sources":["../../source/Experiment/Experiment.ts"],"names":[],"mappings":";;;AAKA,MAAa,UAAU;IAEF,KAAK,CAAO;IACZ,SAAS,CAAW;IACpB,OAAO,CAAS;IAEjC;;;;;OAKG;IACH,YAAY,KAAY,EAAE,SAAoB,EAAE,OAAgB;QAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED;;;OAGG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED;;;OAGG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACH,yBAAyB,CAAC,aAA4B;QAClD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;IACvG,CAAC;CAEJ;AAnDD,gCAmDC"}
@@ -1,58 +1,49 @@
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;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KFoldRun = void 0;
4
+ const ExperimentPerformance_1 = require("../Performance/ExperimentPerformance");
5
+ const InstanceList_1 = require("../InstanceList/InstanceList");
6
+ const KFoldCrossValidation_1 = require("nlptoolkit-sampling/dist/KFoldCrossValidation");
7
+ class KFoldRun {
8
+ K;
9
+ /**
10
+ * Constructor for KFoldRun class. Basically sets K parameter of the K-fold cross-validation.
11
+ *
12
+ * @param K K of the K-fold cross-validation.
13
+ */
14
+ constructor(K) {
15
+ this.K = K;
5
16
  }
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
- /**
18
- * Constructor for KFoldRun class. Basically sets K parameter of the K-fold cross-validation.
19
- *
20
- * @param K K of the K-fold cross-validation.
21
- */
22
- constructor(K) {
23
- this.K = K;
24
- }
25
- /**
26
- * Runs a K fold cross-validated experiment for the given classifier with the given parameters. The experiment
27
- * results will be added to the experimentPerformance.
28
- * @param model Model for the experiment
29
- * @param parameter Hyperparameters of the classifier of the experiment
30
- * @param experimentPerformance Storage to add experiment results
31
- * @param crossValidation K-fold crossvalidated dataset.
32
- * @throws DiscreteFeaturesNotAllowed If the classifier does not allow discrete features and the dataset contains
33
- * discrete features, DiscreteFeaturesNotAllowed will be thrown.
34
- */
35
- runExperiment(model, parameter, experimentPerformance, crossValidation) {
36
- for (let i = 0; i < this.K; i++) {
37
- let trainSet = new InstanceList_1.InstanceList(crossValidation.getTrainFold(i));
38
- let testSet = new InstanceList_1.InstanceList(crossValidation.getTestFold(i));
39
- model.train(trainSet, parameter);
40
- experimentPerformance.add(model.test(testSet));
41
- }
42
- }
43
- /**
44
- * Execute K-fold cross-validation with the given classifier on the given data set using the given parameters.
45
- *
46
- * @param experiment Experiment to be run.
47
- * @return An ExperimentPerformance instance.
48
- */
49
- execute(experiment) {
50
- let result = new ExperimentPerformance_1.ExperimentPerformance();
51
- let crossValidation = new KFoldCrossValidation_1.KFoldCrossValidation(experiment.getDataSet().getInstances(), this.K, experiment.getParameter().getSeed());
52
- this.runExperiment(experiment.getmodel(), experiment.getParameter(), result, crossValidation);
53
- return result;
17
+ /**
18
+ * Runs a K fold cross-validated experiment for the given classifier with the given parameters. The experiment
19
+ * results will be added to the experimentPerformance.
20
+ * @param model Model for the experiment
21
+ * @param parameter Hyperparameters of the classifier of the experiment
22
+ * @param experimentPerformance Storage to add experiment results
23
+ * @param crossValidation K-fold crossvalidated dataset.
24
+ * @throws DiscreteFeaturesNotAllowed If the classifier does not allow discrete features and the dataset contains
25
+ * discrete features, DiscreteFeaturesNotAllowed will be thrown.
26
+ */
27
+ runExperiment(model, parameter, experimentPerformance, crossValidation) {
28
+ for (let i = 0; i < this.K; i++) {
29
+ let trainSet = new InstanceList_1.InstanceList(crossValidation.getTrainFold(i));
30
+ let testSet = new InstanceList_1.InstanceList(crossValidation.getTestFold(i));
31
+ model.train(trainSet, parameter);
32
+ experimentPerformance.add(model.test(testSet));
54
33
  }
55
34
  }
56
- exports.KFoldRun = KFoldRun;
57
- });
35
+ /**
36
+ * Execute K-fold cross-validation with the given classifier on the given data set using the given parameters.
37
+ *
38
+ * @param experiment Experiment to be run.
39
+ * @return An ExperimentPerformance instance.
40
+ */
41
+ execute(experiment) {
42
+ let result = new ExperimentPerformance_1.ExperimentPerformance();
43
+ let crossValidation = new KFoldCrossValidation_1.KFoldCrossValidation(experiment.getDataSet().getInstances(), this.K, experiment.getParameter().getSeed());
44
+ this.runExperiment(experiment.getmodel(), experiment.getParameter(), result, crossValidation);
45
+ return result;
46
+ }
47
+ }
48
+ exports.KFoldRun = KFoldRun;
58
49
  //# sourceMappingURL=KFoldRun.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KFoldRun.js","sourceRoot":"","sources":["../../source/Experiment/KFoldRun.ts"],"names":[],"mappings":";;;;;;;;;;;;IAEA,gFAA2E;IAI3E,+DAA0D;IAC1D,wFAAmF;IAGnF,MAAa,QAAQ;QAIjB;;;;WAIG;QACH,YAAY,CAAS;YACjB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;QAED;;;;;;;;;WASG;QACO,aAAa,CAAC,KAAY,EACZ,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,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACjC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aAClD;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,QAAQ,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;YAC9F,OAAO,MAAM,CAAC;QAClB,CAAC;KAEJ;IAhDD,4BAgDC"}
1
+ {"version":3,"file":"KFoldRun.js","sourceRoot":"","sources":["../../source/Experiment/KFoldRun.ts"],"names":[],"mappings":";;;AAEA,gFAA2E;AAI3E,+DAA0D;AAC1D,wFAAmF;AAGnF,MAAa,QAAQ;IAEP,CAAC,CAAQ;IAEnB;;;;OAIG;IACH,YAAY,CAAS;QACjB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED;;;;;;;;;OASG;IACO,aAAa,CAAC,KAAY,EACZ,SAAoB,EACpB,qBAA4C,EAC5C,eAA0C;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,IAAI,QAAQ,GAAG,IAAI,2BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,OAAO,GAAG,IAAI,2BAAY,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,UAAsB;QAC1B,IAAI,MAAM,GAAG,IAAI,6CAAqB,EAAE,CAAC;QACzC,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;QAC9I,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAC9F,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ;AAhDD,4BAgDC"}
@@ -1,62 +1,52 @@
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;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KFoldRunSeparateTest = void 0;
4
+ const KFoldRun_1 = require("./KFoldRun");
5
+ const ExperimentPerformance_1 = require("../Performance/ExperimentPerformance");
6
+ const InstanceList_1 = require("../InstanceList/InstanceList");
7
+ const KFoldCrossValidation_1 = require("nlptoolkit-sampling/dist/KFoldCrossValidation");
8
+ const Partition_1 = require("../InstanceList/Partition");
9
+ class KFoldRunSeparateTest extends KFoldRun_1.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) {
16
+ super(K);
5
17
  }
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
- /**
28
- * Runs a K fold cross-validated experiment for the given classifier with the given parameters. Testing will be
29
- * done on the separate test set. The experiment results will be added to the experimentPerformance.
30
- * @param model Model for the experiment
31
- * @param parameter Hyperparameters of the classifier of the experiment
32
- * @param experimentPerformance Storage to add experiment results
33
- * @param crossValidation K-fold crossvalidated dataset.
34
- * @param testSet Test set on which experiment performance is calculated.
35
- * @throws DiscreteFeaturesNotAllowed If the classifier does not allow discrete features and the dataset contains
36
- * discrete features, DiscreteFeaturesNotAllowed will be thrown.
37
- */
38
- runExperiment(model, parameter, experimentPerformance, crossValidation, testSet) {
39
- for (let i = 0; i < this.K; i++) {
40
- let trainSet = new InstanceList_1.InstanceList(crossValidation.getTrainFold(i));
41
- model.train(trainSet, parameter);
42
- experimentPerformance.add(model.test(testSet));
43
- }
44
- }
45
- /**
46
- * Execute K-fold cross-validation with separate test set with the given classifier on the given data set using the given parameters.
47
- *
48
- * @param experiment Experiment to be run.
49
- * @return An ExperimentPerformance instance.
50
- */
51
- execute(experiment) {
52
- let result = new ExperimentPerformance_1.ExperimentPerformance();
53
- let instanceList = experiment.getDataSet().getInstanceList();
54
- let partition = new Partition_1.Partition(instanceList, 0.25, true);
55
- let crossValidation = new KFoldCrossValidation_1.KFoldCrossValidation(partition.get(1).getInstances(), this.K, experiment.getParameter().getSeed());
56
- this.runExperiment(experiment.getmodel(), experiment.getParameter(), result, crossValidation, partition.get(0));
57
- return result;
18
+ /**
19
+ * Runs a K fold cross-validated experiment for the given classifier with the given parameters. Testing will be
20
+ * done on the separate test set. The experiment results will be added to the experimentPerformance.
21
+ * @param model Model for the experiment
22
+ * @param parameter Hyperparameters of the classifier of the experiment
23
+ * @param experimentPerformance Storage to add experiment results
24
+ * @param crossValidation K-fold crossvalidated dataset.
25
+ * @param testSet Test set on which experiment performance is calculated.
26
+ * @throws DiscreteFeaturesNotAllowed If the classifier does not allow discrete features and the dataset contains
27
+ * discrete features, DiscreteFeaturesNotAllowed will be thrown.
28
+ */
29
+ runExperiment(model, parameter, experimentPerformance, crossValidation, testSet) {
30
+ for (let i = 0; i < this.K; i++) {
31
+ let trainSet = new InstanceList_1.InstanceList(crossValidation.getTrainFold(i));
32
+ model.train(trainSet, parameter);
33
+ experimentPerformance.add(model.test(testSet));
58
34
  }
59
35
  }
60
- exports.KFoldRunSeparateTest = KFoldRunSeparateTest;
61
- });
36
+ /**
37
+ * Execute K-fold cross-validation with separate test set with the given classifier on the given data set using the given parameters.
38
+ *
39
+ * @param experiment Experiment to be run.
40
+ * @return An ExperimentPerformance instance.
41
+ */
42
+ execute(experiment) {
43
+ let result = new ExperimentPerformance_1.ExperimentPerformance();
44
+ let instanceList = experiment.getDataSet().getInstanceList();
45
+ let partition = new Partition_1.Partition(instanceList, 0.25, true);
46
+ let crossValidation = new KFoldCrossValidation_1.KFoldCrossValidation(partition.get(1).getInstances(), this.K, experiment.getParameter().getSeed());
47
+ this.runExperiment(experiment.getmodel(), experiment.getParameter(), result, crossValidation, partition.get(0));
48
+ return result;
49
+ }
50
+ }
51
+ exports.KFoldRunSeparateTest = KFoldRunSeparateTest;
62
52
  //# sourceMappingURL=KFoldRunSeparateTest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KFoldRunSeparateTest.js","sourceRoot":"","sources":["../../source/Experiment/KFoldRunSeparateTest.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,yCAAoC;IAEpC,gFAA2E;IAC3E,+DAA0D;IAI1D,wFAAmF;IACnF,yDAAoD;IAGpD,MAAa,oBAAqB,SAAQ,mBAAQ;QAE9C;;;;WAIG;QACH,YAAY,CAAS;YACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;QAED;;;;;;;;;;WAUG;QACO,aAAa,CAAC,KAAY,EACZ,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,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACjC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aAClD;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,QAAQ,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChH,OAAO,MAAM,CAAC;QAClB,CAAC;KAEJ;IAjDD,oDAiDC"}
1
+ {"version":3,"file":"KFoldRunSeparateTest.js","sourceRoot":"","sources":["../../source/Experiment/KFoldRunSeparateTest.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAEpC,gFAA2E;AAC3E,+DAA0D;AAI1D,wFAAmF;AACnF,yDAAoD;AAGpD,MAAa,oBAAqB,SAAQ,mBAAQ;IAE9C;;;;OAIG;IACH,YAAY,CAAS;QACjB,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IAED;;;;;;;;;;OAUG;IACO,aAAa,CAAC,KAAY,EACZ,SAAoB,EACpB,qBAA4C,EAC5C,eAA0C,EAC1C,OAAsB;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,IAAI,QAAQ,GAAG,IAAI,2BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,UAAsB;QAC1B,IAAI,MAAM,GAAG,IAAI,6CAAqB,EAAE,CAAC;QACzC,IAAI,YAAY,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC;QAC7D,IAAI,SAAS,GAAG,IAAI,qBAAS,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,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;QACvI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ;AAjDD,oDAiDC"}
@@ -1,13 +1,3 @@
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
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
13
3
  //# sourceMappingURL=MultipleRun.js.map