nlptoolkit-classification 1.0.3 → 1.0.4
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.
- package/dist/Classifier/Bagging.d.ts +1 -0
- package/dist/Classifier/Bagging.js +3 -0
- package/dist/Classifier/Bagging.js.map +1 -1
- package/dist/Classifier/C45.d.ts +1 -0
- package/dist/Classifier/C45.js +3 -0
- package/dist/Classifier/C45.js.map +1 -1
- package/dist/Classifier/C45Stump.d.ts +1 -0
- package/dist/Classifier/C45Stump.js +3 -0
- package/dist/Classifier/C45Stump.js.map +1 -1
- package/dist/Classifier/Classifier.d.ts +1 -0
- package/dist/Classifier/Classifier.js.map +1 -1
- package/dist/Classifier/DeepNetwork.d.ts +1 -0
- package/dist/Classifier/DeepNetwork.js +3 -0
- package/dist/Classifier/DeepNetwork.js.map +1 -1
- package/dist/Classifier/Dummy.d.ts +1 -0
- package/dist/Classifier/Dummy.js +3 -0
- package/dist/Classifier/Dummy.js.map +1 -1
- package/dist/Classifier/KMeans.d.ts +1 -0
- package/dist/Classifier/KMeans.js +3 -0
- package/dist/Classifier/KMeans.js.map +1 -1
- package/dist/Classifier/Knn.d.ts +1 -0
- package/dist/Classifier/Knn.js +3 -0
- package/dist/Classifier/Knn.js.map +1 -1
- package/dist/Classifier/Lda.d.ts +1 -0
- package/dist/Classifier/Lda.js +3 -0
- package/dist/Classifier/Lda.js.map +1 -1
- package/dist/Classifier/LinearPerceptron.d.ts +1 -0
- package/dist/Classifier/LinearPerceptron.js +3 -0
- package/dist/Classifier/LinearPerceptron.js.map +1 -1
- package/dist/Classifier/MultiLayerPerceptron.d.ts +1 -0
- package/dist/Classifier/MultiLayerPerceptron.js +3 -0
- package/dist/Classifier/MultiLayerPerceptron.js.map +1 -1
- package/dist/Classifier/NaiveBayes.d.ts +1 -0
- package/dist/Classifier/NaiveBayes.js +3 -0
- package/dist/Classifier/NaiveBayes.js.map +1 -1
- package/dist/Classifier/Qda.d.ts +1 -0
- package/dist/Classifier/Qda.js +3 -0
- package/dist/Classifier/Qda.js.map +1 -1
- package/dist/Classifier/RandomClassifier.d.ts +1 -0
- package/dist/Classifier/RandomClassifier.js +3 -0
- package/dist/Classifier/RandomClassifier.js.map +1 -1
- package/dist/Classifier/RandomForest.d.ts +1 -0
- package/dist/Classifier/RandomForest.js +3 -0
- package/dist/Classifier/RandomForest.js.map +1 -1
- package/dist/DataSet/DataSet.js +1 -1
- package/dist/DataSet/DataSet.js.map +1 -1
- package/dist/Model/DecisionTree/DecisionNode.d.ts +6 -3
- package/dist/Model/DecisionTree/DecisionNode.js +43 -3
- package/dist/Model/DecisionTree/DecisionNode.js.map +1 -1
- package/dist/Model/DecisionTree/DecisionTree.d.ts +4 -3
- package/dist/Model/DecisionTree/DecisionTree.js +14 -4
- package/dist/Model/DecisionTree/DecisionTree.js.map +1 -1
- package/dist/Model/DeepNetworkModel.d.ts +6 -3
- package/dist/Model/DeepNetworkModel.js +53 -30
- package/dist/Model/DeepNetworkModel.js.map +1 -1
- package/dist/Model/DummyModel.d.ts +2 -1
- package/dist/Model/DummyModel.js +22 -2
- package/dist/Model/DummyModel.js.map +1 -1
- package/dist/Model/GaussianModel.d.ts +4 -0
- package/dist/Model/GaussianModel.js +28 -1
- package/dist/Model/GaussianModel.js.map +1 -1
- package/dist/Model/KMeansModel.d.ts +3 -2
- package/dist/Model/KMeansModel.js +19 -6
- package/dist/Model/KMeansModel.js.map +1 -1
- package/dist/Model/KnnModel.d.ts +3 -2
- package/dist/Model/KnnModel.js +18 -6
- package/dist/Model/KnnModel.js.map +1 -1
- package/dist/Model/LdaModel.d.ts +5 -2
- package/dist/Model/LdaModel.js +28 -6
- package/dist/Model/LdaModel.js.map +1 -1
- package/dist/Model/LinearPerceptronModel.d.ts +5 -2
- package/dist/Model/LinearPerceptronModel.js +38 -10
- package/dist/Model/LinearPerceptronModel.js.map +1 -1
- package/dist/Model/Model.d.ts +7 -0
- package/dist/Model/Model.js +40 -1
- package/dist/Model/Model.js.map +1 -1
- package/dist/Model/MultiLayerPerceptronModel.d.ts +5 -2
- package/dist/Model/MultiLayerPerceptronModel.js +33 -13
- package/dist/Model/MultiLayerPerceptronModel.js.map +1 -1
- package/dist/Model/NaiveBayesModel.d.ts +2 -1
- package/dist/Model/NaiveBayesModel.js +18 -6
- package/dist/Model/NaiveBayesModel.js.map +1 -1
- package/dist/Model/NeuralNetworkModel.d.ts +4 -1
- package/dist/Model/NeuralNetworkModel.js +27 -6
- package/dist/Model/NeuralNetworkModel.js.map +1 -1
- package/dist/Model/QdaModel.d.ts +3 -2
- package/dist/Model/QdaModel.js +23 -5
- package/dist/Model/QdaModel.js.map +1 -1
- package/dist/Model/RandomModel.d.ts +4 -2
- package/dist/Model/RandomModel.js +20 -4
- package/dist/Model/RandomModel.js.map +1 -1
- package/dist/Model/TreeEnsembleModel.d.ts +3 -2
- package/dist/Model/TreeEnsembleModel.js +19 -4
- package/dist/Model/TreeEnsembleModel.js.map +1 -1
- package/models/bagging-bupa.txt +25666 -0
- package/models/bagging-car.txt +78923 -0
- package/models/bagging-dermatology.txt +7276 -0
- package/models/bagging-iris.txt +3131 -0
- package/models/bagging-tictactoe.txt +61186 -0
- package/models/c45-bupa.txt +3 -0
- package/models/c45-car.txt +331 -0
- package/models/c45-dermatology.txt +43 -0
- package/models/c45-iris.txt +13 -0
- package/models/c45-tictactoe.txt +270 -0
- package/models/c45stump-bupa.txt +8 -0
- package/models/c45stump-car.txt +11 -0
- package/models/c45stump-chess.txt +8 -0
- package/models/c45stump-dermatology.txt +8 -0
- package/models/c45stump-iris.txt +8 -0
- package/models/c45stump-nursery.txt +11 -0
- package/models/c45stump-tictactoe.txt +11 -0
- package/models/deepNetwork-bupa.txt +40 -0
- package/models/deepNetwork-dermatology.txt +37 -0
- package/models/deepNetwork-iris.txt +22 -0
- package/models/dummy-bupa.txt +3 -0
- package/models/dummy-car.txt +5 -0
- package/models/dummy-chess.txt +19 -0
- package/models/dummy-dermatology.txt +7 -0
- package/models/dummy-iris.txt +4 -0
- package/models/dummy-nursery.txt +6 -0
- package/models/dummy-tictactoe.txt +3 -0
- package/models/kMeans-bupa.txt +7 -0
- package/models/kMeans-car.txt +11 -0
- package/models/kMeans-chess.txt +39 -0
- package/models/kMeans-dermatology.txt +15 -0
- package/models/kMeans-iris.txt +9 -0
- package/models/kMeans-nursery.txt +13 -0
- package/models/kMeans-tictactoe.txt +7 -0
- package/models/knn-bupa.txt +348 -0
- package/models/knn-car.txt +1731 -0
- package/models/knn-dermatology.txt +369 -0
- package/models/knn-iris.txt +153 -0
- package/models/knn-tictactoe.txt +961 -0
- package/models/lda-bupa.txt +7 -0
- package/models/lda-dermatology.txt +19 -0
- package/models/lda-iris.txt +10 -0
- package/models/linearPerceptron-bupa.txt +6 -0
- package/models/linearPerceptron-dermatology.txt +14 -0
- package/models/linearPerceptron-iris.txt +8 -0
- package/models/multiLayerPerceptron-bupa.txt +38 -0
- package/models/multiLayerPerceptron-dermatology.txt +36 -0
- package/models/multiLayerPerceptron-iris.txt +13 -0
- package/models/naiveBayes-bupa.txt +7 -0
- package/models/naiveBayes-dermatology.txt +19 -0
- package/models/naiveBayes-iris.txt +10 -0
- package/models/qda-bupa.txt +23 -0
- package/models/qda-iris.txt +28 -0
- package/models/random-bupa.txt +4 -0
- package/models/random-car.txt +6 -0
- package/models/random-chess.txt +20 -0
- package/models/random-dermatology.txt +8 -0
- package/models/random-iris.txt +5 -0
- package/models/random-nursery.txt +7 -0
- package/models/random-tictactoe.txt +4 -0
- package/models/randomforest-bupa.txt +25666 -0
- package/models/randomforest-car.txt +78923 -0
- package/models/randomforest-dermatology.txt +7276 -0
- package/models/randomforest-iris.txt +3131 -0
- package/models/randomforest-tictactoe.txt +61186 -0
- package/package.json +3 -3
- package/source/Classifier/Bagging.ts +3 -0
- package/source/Classifier/C45.ts +4 -0
- package/source/Classifier/C45Stump.ts +4 -0
- package/source/Classifier/Classifier.ts +1 -0
- package/source/Classifier/DeepNetwork.ts +4 -0
- package/source/Classifier/Dummy.ts +4 -0
- package/source/Classifier/KMeans.ts +4 -0
- package/source/Classifier/Knn.ts +5 -1
- package/source/Classifier/Lda.ts +4 -0
- package/source/Classifier/LinearPerceptron.ts +4 -0
- package/source/Classifier/MultiLayerPerceptron.ts +4 -0
- package/source/Classifier/NaiveBayes.ts +4 -0
- package/source/Classifier/Qda.ts +4 -0
- package/source/Classifier/RandomClassifier.ts +4 -0
- package/source/Classifier/RandomForest.ts +4 -0
- package/source/DataSet/DataSet.ts +1 -1
- package/source/Model/DecisionTree/DecisionNode.ts +65 -29
- package/source/Model/DecisionTree/DecisionTree.ts +14 -4
- package/source/Model/DeepNetworkModel.ts +40 -16
- package/source/Model/DummyModel.ts +20 -2
- package/source/Model/GaussianModel.ts +29 -0
- package/source/Model/KMeansModel.ts +18 -6
- package/source/Model/KnnModel.ts +19 -6
- package/source/Model/LdaModel.ts +29 -6
- package/source/Model/LinearPerceptronModel.ts +52 -25
- package/source/Model/Model.ts +43 -0
- package/source/Model/MultiLayerPerceptronModel.ts +34 -12
- package/source/Model/NaiveBayesModel.ts +19 -7
- package/source/Model/NeuralNetworkModel.ts +31 -7
- package/source/Model/QdaModel.ts +22 -4
- package/source/Model/RandomModel.ts +21 -4
- package/source/Model/TreeEnsembleModel.ts +17 -3
- package/tests/Classifier/C45Test.ts +67 -0
- package/tests/Classifier/DeepNetworkTest.ts +52 -0
- package/tests/Classifier/DummyTest.ts +89 -0
- package/tests/Classifier/KMeansTest.ts +89 -0
- package/tests/Classifier/KnnTest.ts +68 -0
- package/tests/Classifier/LdaTest.ts +45 -0
- package/tests/Classifier/LinearPerceptronTest.ts +49 -0
- package/tests/Classifier/MultiLayerPerceptronTest.ts +51 -0
- package/tests/Classifier/NaiveBayesTest.ts +45 -0
- package/tests/Classifier/QdaTest.ts +35 -0
- package/tests/Classifier/RandomForestTest.ts +68 -0
package/dist/Model/QdaModel.d.ts
CHANGED
|
@@ -8,12 +8,12 @@ export declare class QdaModel extends LdaModel {
|
|
|
8
8
|
/**
|
|
9
9
|
* The constructor which sets the priorDistribution, w w1 and HashMap of String Matrix.
|
|
10
10
|
*
|
|
11
|
-
* @param
|
|
11
|
+
* @param priorDistributionOrFileName {@link DiscreteDistribution} input.
|
|
12
12
|
* @param W {@link HashMap} of String and Matrix.
|
|
13
13
|
* @param w {@link HashMap} of String and Vectors.
|
|
14
14
|
* @param w0 {@link HashMap} of String and Double.
|
|
15
15
|
*/
|
|
16
|
-
constructor(
|
|
16
|
+
constructor(priorDistributionOrFileName: DiscreteDistribution | string, W?: Map<string, Matrix>, w?: Map<string, Vector>, w0?: Map<string, number>);
|
|
17
17
|
/**
|
|
18
18
|
* The calculateMetric method takes an {@link Instance} and a String as inputs. It multiplies Matrix Wi with Vector xi
|
|
19
19
|
* then calculates the dot product of it with xi. Then, again it finds the dot product of wi and xi and returns the summation with w0i.
|
|
@@ -23,4 +23,5 @@ export declare class QdaModel extends LdaModel {
|
|
|
23
23
|
* @return The result of Wi.multiplyWithVectorFromLeft(xi).dotProduct(xi) + wi.dotProduct(xi) + w0i.
|
|
24
24
|
*/
|
|
25
25
|
calculateMetric(instance: Instance, Ci: string): number;
|
|
26
|
+
saveTxt(fileName: string): void;
|
|
26
27
|
}
|
package/dist/Model/QdaModel.js
CHANGED
|
@@ -4,25 +4,41 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./LdaModel"], factory);
|
|
7
|
+
define(["require", "exports", "./LdaModel", "nlptoolkit-math/dist/DiscreteDistribution", "nlptoolkit-util/dist/FileContents"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.QdaModel = void 0;
|
|
13
13
|
const LdaModel_1 = require("./LdaModel");
|
|
14
|
+
const DiscreteDistribution_1 = require("nlptoolkit-math/dist/DiscreteDistribution");
|
|
15
|
+
const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
|
|
14
16
|
class QdaModel extends LdaModel_1.LdaModel {
|
|
15
17
|
/**
|
|
16
18
|
* The constructor which sets the priorDistribution, w w1 and HashMap of String Matrix.
|
|
17
19
|
*
|
|
18
|
-
* @param
|
|
20
|
+
* @param priorDistributionOrFileName {@link DiscreteDistribution} input.
|
|
19
21
|
* @param W {@link HashMap} of String and Matrix.
|
|
20
22
|
* @param w {@link HashMap} of String and Vectors.
|
|
21
23
|
* @param w0 {@link HashMap} of String and Double.
|
|
22
24
|
*/
|
|
23
|
-
constructor(
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
constructor(priorDistributionOrFileName, W, w, w0) {
|
|
26
|
+
if (priorDistributionOrFileName instanceof DiscreteDistribution_1.DiscreteDistribution) {
|
|
27
|
+
super(priorDistributionOrFileName, w, w0);
|
|
28
|
+
this.W = W;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
super();
|
|
32
|
+
let input = new FileContents_1.FileContents(priorDistributionOrFileName);
|
|
33
|
+
let size = this.loadPriorDistribution(input);
|
|
34
|
+
this.loadWandW0(input, size);
|
|
35
|
+
this.W = new Map();
|
|
36
|
+
for (let i = 0; i < size; i++) {
|
|
37
|
+
let c = input.readLine();
|
|
38
|
+
let matrix = this.loadMatrix(input);
|
|
39
|
+
this.W.set(c, matrix);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
26
42
|
}
|
|
27
43
|
/**
|
|
28
44
|
* The calculateMetric method takes an {@link Instance} and a String as inputs. It multiplies Matrix Wi with Vector xi
|
|
@@ -39,6 +55,8 @@
|
|
|
39
55
|
let w0i = this.w0.get(Ci);
|
|
40
56
|
return Wi.multiplyWithVectorFromLeft(xi).dotProduct(xi) + wi.dotProduct(xi) + w0i;
|
|
41
57
|
}
|
|
58
|
+
saveTxt(fileName) {
|
|
59
|
+
}
|
|
42
60
|
}
|
|
43
61
|
exports.QdaModel = QdaModel;
|
|
44
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QdaModel.js","sourceRoot":"","sources":["../../source/Model/QdaModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,yCAAoC;
|
|
1
|
+
{"version":3,"file":"QdaModel.js","sourceRoot":"","sources":["../../source/Model/QdaModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,yCAAoC;IAEpC,oFAA+E;IAG/E,oEAA+D;IAE/D,MAAa,QAAS,SAAQ,mBAAQ;QAIlC;;;;;;;WAOG;QACH,YAAY,2BAA0D,EAAE,CAAuB,EAAE,CAAuB,EAAE,EAAwB;YAC9I,IAAI,2BAA2B,YAAY,2CAAoB,EAAC;gBAC5D,KAAK,CAAC,2BAA2B,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;aACb;iBAAM;gBACH,KAAK,EAAE,CAAA;gBACP,IAAI,KAAK,GAAG,IAAI,2BAAY,CAAC,2BAA2B,CAAC,CAAA;gBACzD,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;gBAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAC5B,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAkB,CAAA;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAC;oBAC1B,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;oBACxB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;oBACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;iBACxB;aACJ;QACL,CAAC;QAED;;;;;;;WAOG;QACH,eAAe,CAAC,QAAkB,EAAE,EAAU;YAC1C,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACtF,CAAC;QAED,OAAO,CAAC,QAAgB;QACxB,CAAC;KAEJ;IAjDD,4BAiDC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Model } from "./Model";
|
|
2
2
|
import { Instance } from "../Instance/Instance";
|
|
3
3
|
export declare class RandomModel extends Model {
|
|
4
|
-
private classLabels;
|
|
4
|
+
private readonly classLabels;
|
|
5
5
|
private random;
|
|
6
|
-
|
|
6
|
+
private seed;
|
|
7
|
+
constructor(classLabelsOrFileName: Array<string> | string, seed?: number);
|
|
7
8
|
/**
|
|
8
9
|
* The predict method gets an Instance as an input and retrieves the possible class labels as an ArrayList. Then selects a
|
|
9
10
|
* random number as an index and returns the class label at this selected index.
|
|
@@ -13,4 +14,5 @@ export declare class RandomModel extends Model {
|
|
|
13
14
|
*/
|
|
14
15
|
predict(instance: Instance): string;
|
|
15
16
|
predictProbability(instance: Instance): Map<string, number>;
|
|
17
|
+
saveTxt(fileName: string): void;
|
|
16
18
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./Model", "../Instance/CompositeInstance", "nlptoolkit-util/dist/Random"], factory);
|
|
7
|
+
define(["require", "exports", "./Model", "../Instance/CompositeInstance", "nlptoolkit-util/dist/Random", "nlptoolkit-util/dist/FileContents"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -13,11 +13,25 @@
|
|
|
13
13
|
const Model_1 = require("./Model");
|
|
14
14
|
const CompositeInstance_1 = require("../Instance/CompositeInstance");
|
|
15
15
|
const Random_1 = require("nlptoolkit-util/dist/Random");
|
|
16
|
+
const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
|
|
16
17
|
class RandomModel extends Model_1.Model {
|
|
17
|
-
constructor(
|
|
18
|
+
constructor(classLabelsOrFileName, seed) {
|
|
18
19
|
super();
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
if (classLabelsOrFileName instanceof Array) {
|
|
21
|
+
this.classLabels = classLabelsOrFileName;
|
|
22
|
+
this.random = new Random_1.Random(seed);
|
|
23
|
+
this.seed = seed;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
let input = new FileContents_1.FileContents(classLabelsOrFileName);
|
|
27
|
+
seed = parseInt(input.readLine());
|
|
28
|
+
this.random = new Random_1.Random(seed);
|
|
29
|
+
let size = parseInt(input.readLine());
|
|
30
|
+
this.classLabels = new Array();
|
|
31
|
+
for (let i = 0; i < size; i++) {
|
|
32
|
+
this.classLabels.push(input.readLine());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
21
35
|
}
|
|
22
36
|
/**
|
|
23
37
|
* The predict method gets an Instance as an input and retrieves the possible class labels as an ArrayList. Then selects a
|
|
@@ -46,6 +60,8 @@
|
|
|
46
60
|
}
|
|
47
61
|
return result;
|
|
48
62
|
}
|
|
63
|
+
saveTxt(fileName) {
|
|
64
|
+
}
|
|
49
65
|
}
|
|
50
66
|
exports.RandomModel = RandomModel;
|
|
51
67
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RandomModel.js","sourceRoot":"","sources":["../../source/Model/RandomModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mCAA8B;IAE9B,qEAAgE;IAChE,wDAAmD;
|
|
1
|
+
{"version":3,"file":"RandomModel.js","sourceRoot":"","sources":["../../source/Model/RandomModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mCAA8B;IAE9B,qEAAgE;IAChE,wDAAmD;IACnD,oEAA+D;IAE/D,MAAa,WAAY,SAAQ,aAAK;QAMlC,YAAY,qBAA6C,EAAE,IAAa;YACpE,KAAK,EAAE,CAAC;YACR,IAAI,qBAAqB,YAAY,KAAK,EAAC;gBACvC,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAA;gBACxC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAA;gBAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;aACnB;iBAAM;gBACH,IAAI,KAAK,GAAG,IAAI,2BAAY,CAAC,qBAAqB,CAAC,CAAA;gBACnD,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAA;gBAC9B,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACrC,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,EAAU,CAAA;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;iBAC1C;aACJ;QACL,CAAC;QAED;;;;;;WAMG;QACH,OAAO,CAAC,QAAkB;YACtB,IAAI,CAAC,QAAQ,YAAY,qCAAiB,CAAC,EAAE;gBACzC,IAAI,mBAAmB,GAAwB,QAAS,CAAC,sBAAsB,EAAE,CAAC;gBAClF,IAAI,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBACtC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;aACrC;iBAAM;gBACH,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACnC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAClC;QACL,CAAC;QAED,kBAAkB,CAAC,QAAkB;YACjC,IAAI,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;YACvC,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,EAAC;gBACpC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACzD;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,QAAgB;QACxB,CAAC;KAEJ;IAvDD,kCAuDC"}
|
|
@@ -6,9 +6,9 @@ export declare class TreeEnsembleModel extends Model {
|
|
|
6
6
|
/**
|
|
7
7
|
* A constructor which sets the {@link Array} of {@link DecisionTree} with given input.
|
|
8
8
|
*
|
|
9
|
-
* @param
|
|
9
|
+
* @param forestOrFileName An {@link Array} of {@link DecisionTree}.
|
|
10
10
|
*/
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(forestOrFileName: Array<DecisionTree> | string);
|
|
12
12
|
/**
|
|
13
13
|
* The predict method takes an {@link Instance} as an input and loops through the {@link ArrayList} of {@link DecisionTree}s.
|
|
14
14
|
* Makes prediction for the items of that ArrayList and returns the maximum item of that ArrayList.
|
|
@@ -18,4 +18,5 @@ export declare class TreeEnsembleModel extends Model {
|
|
|
18
18
|
*/
|
|
19
19
|
predict(instance: Instance): string;
|
|
20
20
|
predictProbability(instance: Instance): Map<string, number>;
|
|
21
|
+
saveTxt(fileName: string): void;
|
|
21
22
|
}
|
|
@@ -4,23 +4,36 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./Model", "nlptoolkit-math/dist/DiscreteDistribution"], factory);
|
|
7
|
+
define(["require", "exports", "./Model", "./DecisionTree/DecisionTree", "nlptoolkit-math/dist/DiscreteDistribution", "nlptoolkit-util/dist/FileContents", "./DecisionTree/DecisionNode"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TreeEnsembleModel = void 0;
|
|
13
13
|
const Model_1 = require("./Model");
|
|
14
|
+
const DecisionTree_1 = require("./DecisionTree/DecisionTree");
|
|
14
15
|
const DiscreteDistribution_1 = require("nlptoolkit-math/dist/DiscreteDistribution");
|
|
16
|
+
const FileContents_1 = require("nlptoolkit-util/dist/FileContents");
|
|
17
|
+
const DecisionNode_1 = require("./DecisionTree/DecisionNode");
|
|
15
18
|
class TreeEnsembleModel extends Model_1.Model {
|
|
16
19
|
/**
|
|
17
20
|
* A constructor which sets the {@link Array} of {@link DecisionTree} with given input.
|
|
18
21
|
*
|
|
19
|
-
* @param
|
|
22
|
+
* @param forestOrFileName An {@link Array} of {@link DecisionTree}.
|
|
20
23
|
*/
|
|
21
|
-
constructor(
|
|
24
|
+
constructor(forestOrFileName) {
|
|
22
25
|
super();
|
|
23
|
-
|
|
26
|
+
if (forestOrFileName instanceof Array) {
|
|
27
|
+
this.forest = forestOrFileName;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
let input = new FileContents_1.FileContents(forestOrFileName);
|
|
31
|
+
let numberOfTrees = parseInt(input.readLine());
|
|
32
|
+
this.forest = new Array();
|
|
33
|
+
for (let i = 0; i < numberOfTrees; i++) {
|
|
34
|
+
this.forest.push(new DecisionTree_1.DecisionTree(new DecisionNode_1.DecisionNode(input)));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
24
37
|
}
|
|
25
38
|
/**
|
|
26
39
|
* The predict method takes an {@link Instance} as an input and loops through the {@link ArrayList} of {@link DecisionTree}s.
|
|
@@ -43,6 +56,8 @@
|
|
|
43
56
|
}
|
|
44
57
|
return distribution.getProbabilityDistribution();
|
|
45
58
|
}
|
|
59
|
+
saveTxt(fileName) {
|
|
60
|
+
}
|
|
46
61
|
}
|
|
47
62
|
exports.TreeEnsembleModel = TreeEnsembleModel;
|
|
48
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeEnsembleModel.js","sourceRoot":"","sources":["../../source/Model/TreeEnsembleModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mCAA8B;
|
|
1
|
+
{"version":3,"file":"TreeEnsembleModel.js","sourceRoot":"","sources":["../../source/Model/TreeEnsembleModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mCAA8B;IAE9B,8DAAyD;IACzD,oFAA+E;IAC/E,oEAA+D;IAC/D,8DAAyD;IAEzD,MAAa,iBAAkB,SAAQ,aAAK;QAIxC;;;;WAIG;QACH,YAAY,gBAA8C;YACtD,KAAK,EAAE,CAAC;YACR,IAAI,gBAAgB,YAAY,KAAK,EAAC;gBAClC,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAA;aACjC;iBAAM;gBACH,IAAI,KAAK,GAAG,IAAI,2BAAY,CAAC,gBAAgB,CAAC,CAAA;gBAC9C,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAgB,CAAA;gBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAC;oBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,2BAAY,CAAC,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;iBAC9D;aACJ;QACL,CAAC;QAED;;;;;;WAMG;QACH,OAAO,CAAC,QAAkB;YACtB,IAAI,YAAY,GAAG,IAAI,2CAAoB,EAAE,CAAC;YAC9C,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aAChD;YACD,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;QAED,kBAAkB,CAAC,QAAkB;YACjC,IAAI,YAAY,GAAG,IAAI,2CAAoB,EAAE,CAAC;YAC9C,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aAChD;YACD,OAAO,YAAY,CAAC,0BAA0B,EAAE,CAAC;QACrD,CAAC;QAED,OAAO,CAAC,QAAgB;QACxB,CAAC;KAEJ;IAjDD,8CAiDC"}
|