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,98 +1,90 @@
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.LdaModel = void 0;
4
+ const GaussianModel_1 = require("./GaussianModel");
5
+ const Vector_1 = require("nlptoolkit-math/dist/Vector");
6
+ const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
7
+ const Partition_1 = require("../../InstanceList/Partition");
8
+ const Matrix_1 = require("nlptoolkit-math/dist/Matrix");
9
+ class LdaModel extends GaussianModel_1.GaussianModel {
10
+ w0;
11
+ w;
12
+ /**
13
+ * Loads a Linear Discriminant Analysis model from an input model file.
14
+ * @param fileName Model file name.
15
+ */
16
+ constructor2(fileName) {
17
+ let input = new FileContents_1.FileContents(fileName);
18
+ let size = this.loadPriorDistribution(input);
19
+ this.loadWandW0(input, size);
5
20
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./GaussianModel", "nlptoolkit-math/dist/Vector", "nlptoolkit-util/dist/FileContents", "../../InstanceList/Partition", "nlptoolkit-math/dist/Matrix"], factory);
21
+ /**
22
+ * The calculateMetric method takes an {@link Instance} and a String as inputs. It returns the dot product of given Instance
23
+ * and wi plus w0i.
24
+ *
25
+ * @param instance {@link Instance} input.
26
+ * @param Ci String input.
27
+ * @return The dot product of given Instance and wi plus w0i.
28
+ */
29
+ calculateMetric(instance, Ci) {
30
+ let xi = instance.toVector();
31
+ let wi = this.w.get(Ci);
32
+ let w0i = this.w0.get(Ci);
33
+ return wi.dotProduct(xi) + w0i;
8
34
  }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.LdaModel = void 0;
13
- const GaussianModel_1 = require("./GaussianModel");
14
- const Vector_1 = require("nlptoolkit-math/dist/Vector");
15
- const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
16
- const Partition_1 = require("../../InstanceList/Partition");
17
- const Matrix_1 = require("nlptoolkit-math/dist/Matrix");
18
- class LdaModel extends GaussianModel_1.GaussianModel {
19
- /**
20
- * Loads a Linear Discriminant Analysis model from an input model file.
21
- * @param fileName Model file name.
22
- */
23
- constructor2(fileName) {
24
- let input = new FileContents_1.FileContents(fileName);
25
- let size = this.loadPriorDistribution(input);
26
- this.loadWandW0(input, size);
35
+ /**
36
+ * Loads w0 and w hash maps from an input file. The number of items in the hash map is given by the parameter size.
37
+ * @param input Input file
38
+ * @param size Number of items in the hash map read.
39
+ * @throws IOException If the file can not be read, it throws IOException.
40
+ */
41
+ loadWandW0(input, size) {
42
+ this.w0 = new Map();
43
+ for (let i = 0; i < size; i++) {
44
+ let line = input.readLine();
45
+ let items = line.split(" ");
46
+ this.w0.set(items[0], parseFloat(items[1]));
27
47
  }
28
- /**
29
- * The calculateMetric method takes an {@link Instance} and a String as inputs. It returns the dot product of given Instance
30
- * and wi plus w0i.
31
- *
32
- * @param instance {@link Instance} input.
33
- * @param Ci String input.
34
- * @return The dot product of given Instance and wi plus w0i.
35
- */
36
- calculateMetric(instance, Ci) {
37
- let xi = instance.toVector();
38
- let wi = this.w.get(Ci);
39
- let w0i = this.w0.get(Ci);
40
- return wi.dotProduct(xi) + w0i;
41
- }
42
- /**
43
- * Loads w0 and w hash maps from an input file. The number of items in the hash map is given by the parameter size.
44
- * @param input Input file
45
- * @param size Number of items in the hash map read.
46
- * @throws IOException If the file can not be read, it throws IOException.
47
- */
48
- loadWandW0(input, size) {
49
- this.w0 = new Map();
50
- for (let i = 0; i < size; i++) {
51
- let line = input.readLine();
52
- let items = line.split(" ");
53
- this.w0.set(items[0], parseFloat(items[1]));
54
- }
55
- this.w = this.loadVectors(input, size);
56
- }
57
- saveTxt(fileName) {
58
- }
59
- /**
60
- * Training algorithm for the linear discriminant analysis classifier (Introduction to Machine Learning, Alpaydin, 2015).
61
- *
62
- * @param trainSet Training data given to the algorithm.
63
- * @param parameters -
64
- */
65
- train(trainSet, parameters) {
66
- this.w0 = new Map();
67
- this.w = new Map();
68
- this.priorDistribution = trainSet.classDistribution();
69
- let classLists = new Partition_1.Partition(trainSet);
70
- let covariance = new Matrix_1.Matrix(trainSet.get(0).continuousAttributeSize(), trainSet.get(0).continuousAttributeSize());
71
- for (let i = 0; i < classLists.size(); i++) {
72
- let averageVector = new Vector_1.Vector(classLists.get(i).continuousAttributeAverage());
73
- let classCovariance = classLists.get(i).covariance(averageVector);
74
- classCovariance.multiplyWithConstant(classLists.get(i).size() - 1);
75
- covariance.add(classCovariance);
76
- }
77
- covariance.divideByConstant(trainSet.size() - classLists.size());
78
- covariance.inverse();
79
- for (let i = 0; i < classLists.size(); i++) {
80
- let Ci = classLists.get(i).getClassLabel();
81
- let averageVector = new Vector_1.Vector(classLists.get(i).continuousAttributeAverage());
82
- let wi = covariance.multiplyWithVectorFromRight(averageVector);
83
- this.w.set(Ci, wi);
84
- let w0i = -0.5 * wi.dotProduct(averageVector) + Math.log(this.priorDistribution.getProbability(Ci));
85
- this.w0.set(Ci, w0i);
86
- }
48
+ this.w = this.loadVectors(input, size);
49
+ }
50
+ saveTxt(fileName) {
51
+ }
52
+ /**
53
+ * Training algorithm for the linear discriminant analysis classifier (Introduction to Machine Learning, Alpaydin, 2015).
54
+ *
55
+ * @param trainSet Training data given to the algorithm.
56
+ * @param parameters -
57
+ */
58
+ train(trainSet, parameters) {
59
+ this.w0 = new Map();
60
+ this.w = new Map();
61
+ this.priorDistribution = trainSet.classDistribution();
62
+ let classLists = new Partition_1.Partition(trainSet);
63
+ let covariance = new Matrix_1.Matrix(trainSet.get(0).continuousAttributeSize(), trainSet.get(0).continuousAttributeSize());
64
+ for (let i = 0; i < classLists.size(); i++) {
65
+ let averageVector = new Vector_1.Vector(classLists.get(i).continuousAttributeAverage());
66
+ let classCovariance = classLists.get(i).covariance(averageVector);
67
+ classCovariance.multiplyWithConstant(classLists.get(i).size() - 1);
68
+ covariance.add(classCovariance);
87
69
  }
88
- /**
89
- * Loads the Lda model from an input file.
90
- * @param fileName File name of the Lda model.
91
- */
92
- loadModel(fileName) {
93
- this.constructor2(fileName);
70
+ covariance.divideByConstant(trainSet.size() - classLists.size());
71
+ covariance.inverse();
72
+ for (let i = 0; i < classLists.size(); i++) {
73
+ let Ci = classLists.get(i).getClassLabel();
74
+ let averageVector = new Vector_1.Vector(classLists.get(i).continuousAttributeAverage());
75
+ let wi = covariance.multiplyWithVectorFromRight(averageVector);
76
+ this.w.set(Ci, wi);
77
+ let w0i = -0.5 * wi.dotProduct(averageVector) + Math.log(this.priorDistribution.getProbability(Ci));
78
+ this.w0.set(Ci, w0i);
94
79
  }
95
80
  }
96
- exports.LdaModel = LdaModel;
97
- });
81
+ /**
82
+ * Loads the Lda model from an input file.
83
+ * @param fileName File name of the Lda model.
84
+ */
85
+ loadModel(fileName) {
86
+ this.constructor2(fileName);
87
+ }
88
+ }
89
+ exports.LdaModel = LdaModel;
98
90
  //# sourceMappingURL=LdaModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LdaModel.js","sourceRoot":"","sources":["../../../source/Model/Parametric/LdaModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LdaModel.js","sourceRoot":"","sources":["../../../source/Model/Parametric/LdaModel.ts"],"names":[],"mappings":"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"}
@@ -1,144 +1,131 @@
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.NaiveBayesModel = void 0;
4
+ const GaussianModel_1 = require("./GaussianModel");
5
+ const DiscreteAttribute_1 = require("../../Attribute/DiscreteAttribute");
6
+ const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
7
+ const Partition_1 = require("../../InstanceList/Partition");
8
+ class NaiveBayesModel extends GaussianModel_1.GaussianModel {
9
+ classMeans = undefined;
10
+ classDeviations = undefined;
11
+ classAttributeDistributions = undefined;
12
+ /**
13
+ * Loads a naive Bayes model from an input model file.
14
+ * @param fileName Model file name.
15
+ */
16
+ constructor3(fileName) {
17
+ let input = new FileContents_1.FileContents(fileName);
18
+ let size = this.loadPriorDistribution(input);
19
+ this.classMeans = this.loadVectors(input, size);
20
+ this.classDeviations = this.loadVectors(input, size);
5
21
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./GaussianModel", "../../Attribute/DiscreteAttribute", "nlptoolkit-util/dist/FileContents", "../../InstanceList/Partition"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.NaiveBayesModel = void 0;
13
- const GaussianModel_1 = require("./GaussianModel");
14
- const DiscreteAttribute_1 = require("../../Attribute/DiscreteAttribute");
15
- const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
16
- const Partition_1 = require("../../InstanceList/Partition");
17
- class NaiveBayesModel extends GaussianModel_1.GaussianModel {
18
- constructor() {
19
- super(...arguments);
20
- this.classMeans = undefined;
21
- this.classDeviations = undefined;
22
- this.classAttributeDistributions = undefined;
22
+ /**
23
+ * The calculateMetric method takes an {@link Instance} and a String as inputs, and it returns the log likelihood of
24
+ * these inputs.
25
+ *
26
+ * @param instance {@link Instance} input.
27
+ * @param Ci String input.
28
+ * @return The log likelihood of inputs.
29
+ */
30
+ calculateMetric(instance, Ci) {
31
+ if (this.classAttributeDistributions == undefined) {
32
+ return this.logLikelihoodContinuous(Ci, instance);
23
33
  }
24
- /**
25
- * Loads a naive Bayes model from an input model file.
26
- * @param fileName Model file name.
27
- */
28
- constructor3(fileName) {
29
- let input = new FileContents_1.FileContents(fileName);
30
- let size = this.loadPriorDistribution(input);
31
- this.classMeans = this.loadVectors(input, size);
32
- this.classDeviations = this.loadVectors(input, size);
34
+ else {
35
+ return this.logLikelihoodDiscrete(Ci, instance);
33
36
  }
34
- /**
35
- * The calculateMetric method takes an {@link Instance} and a String as inputs, and it returns the log likelihood of
36
- * these inputs.
37
- *
38
- * @param instance {@link Instance} input.
39
- * @param Ci String input.
40
- * @return The log likelihood of inputs.
41
- */
42
- calculateMetric(instance, Ci) {
43
- if (this.classAttributeDistributions == undefined) {
44
- return this.logLikelihoodContinuous(Ci, instance);
45
- }
46
- else {
47
- return this.logLikelihoodDiscrete(Ci, instance);
48
- }
49
- }
50
- /**
51
- * The logLikelihoodContinuous method takes an {@link Instance} and a class label as inputs. First it gets the logarithm
52
- * of given class label's probability via prior distribution as logLikelihood. Then it loops times of given instance attribute size, and accumulates the
53
- * logLikelihood by calculating -0.5 * ((xi - mi) / si )** 2).
54
- *
55
- * @param classLabel String input class label.
56
- * @param instance {@link Instance} input.
57
- * @return The log likelihood of given class label and {@link Instance}.
58
- */
59
- logLikelihoodContinuous(classLabel, instance) {
60
- let logLikelihood = Math.log(this.priorDistribution.getProbability(classLabel));
61
- for (let i = 0; i < instance.attributeSize(); i++) {
62
- let xi = instance.getAttribute(i).getValue();
63
- let mi = this.classMeans.get(classLabel).getValue(i);
64
- let si = this.classDeviations.get(classLabel).getValue(i);
65
- if (si != 0) {
66
- logLikelihood += -0.5 * Math.pow((xi - mi) / si, 2);
67
- }
68
- }
69
- return logLikelihood;
70
- }
71
- /**
72
- * The logLikelihoodDiscrete method takes an {@link Instance} and a class label as inputs. First it gets the logarithm
73
- * of given class label's probability via prior distribution as logLikelihood and gets the class attribute distribution of given class label.
74
- * Then it loops times of given instance attribute size, and accumulates the logLikelihood by calculating the logarithm of
75
- * corresponding attribute distribution's smoothed probability by using laplace smoothing on xi.
76
- *
77
- * @param classLabel String input class label.
78
- * @param instance {@link Instance} input.
79
- * @return The log likelihood of given class label and {@link Instance}.
80
- */
81
- logLikelihoodDiscrete(classLabel, instance) {
82
- let logLikelihood = Math.log(this.priorDistribution.getProbability(classLabel));
83
- let attributeDistributions = this.classAttributeDistributions.get(classLabel);
84
- for (let i = 0; i < instance.attributeSize(); i++) {
85
- let xi = instance.getAttribute(i).getValue();
86
- logLikelihood += Math.log(attributeDistributions[i].getProbabilityLaplaceSmoothing(xi));
37
+ }
38
+ /**
39
+ * The logLikelihoodContinuous method takes an {@link Instance} and a class label as inputs. First it gets the logarithm
40
+ * of given class label's probability via prior distribution as logLikelihood. Then it loops times of given instance attribute size, and accumulates the
41
+ * logLikelihood by calculating -0.5 * ((xi - mi) / si )** 2).
42
+ *
43
+ * @param classLabel String input class label.
44
+ * @param instance {@link Instance} input.
45
+ * @return The log likelihood of given class label and {@link Instance}.
46
+ */
47
+ logLikelihoodContinuous(classLabel, instance) {
48
+ let logLikelihood = Math.log(this.priorDistribution.getProbability(classLabel));
49
+ for (let i = 0; i < instance.attributeSize(); i++) {
50
+ let xi = instance.getAttribute(i).getValue();
51
+ let mi = this.classMeans.get(classLabel).getValue(i);
52
+ let si = this.classDeviations.get(classLabel).getValue(i);
53
+ if (si != 0) {
54
+ logLikelihood += -0.5 * Math.pow((xi - mi) / si, 2);
87
55
  }
88
- return logLikelihood;
89
56
  }
90
- saveTxt(fileName) {
57
+ return logLikelihood;
58
+ }
59
+ /**
60
+ * The logLikelihoodDiscrete method takes an {@link Instance} and a class label as inputs. First it gets the logarithm
61
+ * of given class label's probability via prior distribution as logLikelihood and gets the class attribute distribution of given class label.
62
+ * Then it loops times of given instance attribute size, and accumulates the logLikelihood by calculating the logarithm of
63
+ * corresponding attribute distribution's smoothed probability by using laplace smoothing on xi.
64
+ *
65
+ * @param classLabel String input class label.
66
+ * @param instance {@link Instance} input.
67
+ * @return The log likelihood of given class label and {@link Instance}.
68
+ */
69
+ logLikelihoodDiscrete(classLabel, instance) {
70
+ let logLikelihood = Math.log(this.priorDistribution.getProbability(classLabel));
71
+ let attributeDistributions = this.classAttributeDistributions.get(classLabel);
72
+ for (let i = 0; i < instance.attributeSize(); i++) {
73
+ let xi = instance.getAttribute(i).getValue();
74
+ logLikelihood += Math.log(attributeDistributions[i].getProbabilityLaplaceSmoothing(xi));
91
75
  }
92
- /**
93
- * Training algorithm for Naive Bayes algorithm with a continuous data set.
94
- *
95
- * @param classLists Instances are divided into K lists, where each list contains only instances from a single class
96
- */
97
- trainContinuousVersion(classLists) {
98
- this.classMeans = new Map();
99
- this.classDeviations = new Map();
100
- for (let i = 0; i < classLists.size(); i++) {
101
- let classLabel = classLists.get(i).getClassLabel();
102
- let averageVector = classLists.get(i).average().toVector();
103
- this.classMeans.set(classLabel, averageVector);
104
- let standardDeviationVector = classLists.get(i).standardDeviation().toVector();
105
- this.classDeviations.set(classLabel, standardDeviationVector);
106
- }
76
+ return logLikelihood;
77
+ }
78
+ saveTxt(fileName) {
79
+ }
80
+ /**
81
+ * Training algorithm for Naive Bayes algorithm with a continuous data set.
82
+ *
83
+ * @param classLists Instances are divided into K lists, where each list contains only instances from a single class
84
+ */
85
+ trainContinuousVersion(classLists) {
86
+ this.classMeans = new Map();
87
+ this.classDeviations = new Map();
88
+ for (let i = 0; i < classLists.size(); i++) {
89
+ let classLabel = classLists.get(i).getClassLabel();
90
+ let averageVector = classLists.get(i).average().toVector();
91
+ this.classMeans.set(classLabel, averageVector);
92
+ let standardDeviationVector = classLists.get(i).standardDeviation().toVector();
93
+ this.classDeviations.set(classLabel, standardDeviationVector);
107
94
  }
108
- /**
109
- * Training algorithm for Naive Bayes algorithm with a discrete data set.
110
- * @param classLists Instances are divided into K lists, where each list contains only instances from a single class
111
- */
112
- trainDiscreteVersion(classLists) {
113
- this.classAttributeDistributions = new Map();
114
- for (let i = 0; i < classLists.size(); i++) {
115
- this.classAttributeDistributions.set(classLists.get(i).getClassLabel(), classLists.get(i).allAttributesDistribution());
116
- }
95
+ }
96
+ /**
97
+ * Training algorithm for Naive Bayes algorithm with a discrete data set.
98
+ * @param classLists Instances are divided into K lists, where each list contains only instances from a single class
99
+ */
100
+ trainDiscreteVersion(classLists) {
101
+ this.classAttributeDistributions = new Map();
102
+ for (let i = 0; i < classLists.size(); i++) {
103
+ this.classAttributeDistributions.set(classLists.get(i).getClassLabel(), classLists.get(i).allAttributesDistribution());
117
104
  }
118
- /**
119
- * Training algorithm for Naive Bayes algorithm. It basically calls trainContinuousVersion for continuous data sets,
120
- * trainDiscreteVersion for discrete data sets.
121
- * @param trainSet Training data given to the algorithm
122
- * @param parameters -
123
- */
124
- train(trainSet, parameters) {
125
- this.priorDistribution = trainSet.classDistribution();
126
- let classLists = new Partition_1.Partition(trainSet);
127
- if (classLists.get(0).get(0).getAttribute(0) instanceof DiscreteAttribute_1.DiscreteAttribute) {
128
- this.trainDiscreteVersion(classLists);
129
- }
130
- else {
131
- this.trainContinuousVersion(classLists);
132
- }
105
+ }
106
+ /**
107
+ * Training algorithm for Naive Bayes algorithm. It basically calls trainContinuousVersion for continuous data sets,
108
+ * trainDiscreteVersion for discrete data sets.
109
+ * @param trainSet Training data given to the algorithm
110
+ * @param parameters -
111
+ */
112
+ train(trainSet, parameters) {
113
+ this.priorDistribution = trainSet.classDistribution();
114
+ let classLists = new Partition_1.Partition(trainSet);
115
+ if (classLists.get(0).get(0).getAttribute(0) instanceof DiscreteAttribute_1.DiscreteAttribute) {
116
+ this.trainDiscreteVersion(classLists);
133
117
  }
134
- /**
135
- * Loads the naive Bayes model from an input file.
136
- * @param fileName File name of the naive Bayes model.
137
- */
138
- loadModel(fileName) {
139
- this.constructor3(fileName);
118
+ else {
119
+ this.trainContinuousVersion(classLists);
140
120
  }
141
121
  }
142
- exports.NaiveBayesModel = NaiveBayesModel;
143
- });
122
+ /**
123
+ * Loads the naive Bayes model from an input file.
124
+ * @param fileName File name of the naive Bayes model.
125
+ */
126
+ loadModel(fileName) {
127
+ this.constructor3(fileName);
128
+ }
129
+ }
130
+ exports.NaiveBayesModel = NaiveBayesModel;
144
131
  //# sourceMappingURL=NaiveBayesModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NaiveBayesModel.js","sourceRoot":"","sources":["../../../source/Model/Parametric/NaiveBayesModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NaiveBayesModel.js","sourceRoot":"","sources":["../../../source/Model/Parametric/NaiveBayesModel.ts"],"names":[],"mappings":"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"}