nlptoolkit-classification 1.0.3 → 1.0.5
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/DataDefinition.d.ts +5 -1
- package/dist/DataSet/DataDefinition.js +16 -1
- package/dist/DataSet/DataDefinition.js.map +1 -1
- package/dist/DataSet/DataSet.js +1 -1
- package/dist/DataSet/DataSet.js.map +1 -1
- package/dist/InstanceList/InstanceList.js +3 -0
- package/dist/InstanceList/InstanceList.js.map +1 -1
- package/dist/Model/DecisionTree/DecisionNode.d.ts +6 -3
- package/dist/Model/DecisionTree/DecisionNode.js +48 -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-carIndexed.txt +188 -0
- package/models/c45-dermatology.txt +43 -0
- package/models/c45-iris.txt +13 -0
- package/models/c45-tictactoe.txt +270 -0
- package/models/c45-tictactoeIndexed.txt +173 -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-carIndexed.txt +38786 -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/DataDefinition.ts +19 -1
- package/source/DataSet/DataSet.ts +1 -1
- package/source/InstanceList/InstanceList.ts +5 -0
- package/source/Model/DecisionTree/DecisionNode.ts +69 -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 +98 -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 +85 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import {AttributeType} from "../../dist/Attribute/AttributeType";
|
|
2
|
+
import {DataDefinition} from "../../dist/DataSet/DataDefinition";
|
|
3
|
+
import {DataSet} from "../../dist/DataSet/DataSet";
|
|
4
|
+
import * as assert from "assert";
|
|
5
|
+
import {RandomForest} from "../../dist/Classifier/RandomForest";
|
|
6
|
+
import {RandomForestParameter} from "../../dist/Parameter/RandomForestParameter";
|
|
7
|
+
|
|
8
|
+
describe('RandomForestTest', function() {
|
|
9
|
+
describe('RandomForestTest', function() {
|
|
10
|
+
let randomForest = new RandomForest()
|
|
11
|
+
let randomForestParameter = new RandomForestParameter(1, 100, 35)
|
|
12
|
+
let attributeTypes = new Array<AttributeType>();
|
|
13
|
+
for (let i = 0; i < 4; i++){
|
|
14
|
+
attributeTypes.push(AttributeType.CONTINUOUS)
|
|
15
|
+
}
|
|
16
|
+
let dataDefinition = new DataDefinition(attributeTypes)
|
|
17
|
+
let iris = new DataSet(dataDefinition, ",", "datasets/iris.data")
|
|
18
|
+
attributeTypes = new Array<AttributeType>();
|
|
19
|
+
for (let i = 0; i < 6; i++){
|
|
20
|
+
attributeTypes.push(AttributeType.CONTINUOUS)
|
|
21
|
+
}
|
|
22
|
+
dataDefinition = new DataDefinition(attributeTypes)
|
|
23
|
+
let bupa = new DataSet(dataDefinition, ",", "datasets/bupa.data")
|
|
24
|
+
attributeTypes = new Array<AttributeType>()
|
|
25
|
+
for (let i = 0; i < 34; i++){
|
|
26
|
+
attributeTypes.push(AttributeType.CONTINUOUS)
|
|
27
|
+
}
|
|
28
|
+
dataDefinition = new DataDefinition(attributeTypes)
|
|
29
|
+
let dermatology = new DataSet(dataDefinition, ",", "datasets/dermatology.data")
|
|
30
|
+
attributeTypes = new Array<AttributeType>()
|
|
31
|
+
for (let i = 0; i < 6; i++){
|
|
32
|
+
attributeTypes.push(AttributeType.DISCRETE)
|
|
33
|
+
}
|
|
34
|
+
dataDefinition = new DataDefinition(attributeTypes);
|
|
35
|
+
let car = new DataSet(dataDefinition, ",", "datasets/car.data");
|
|
36
|
+
attributeTypes = new Array<AttributeType>();
|
|
37
|
+
let attributeValueList = new Array<Array<String>>()
|
|
38
|
+
attributeValueList.push(["vhigh", "high", "low", "med"])
|
|
39
|
+
attributeValueList.push(["vhigh", "high", "low", "med"])
|
|
40
|
+
attributeValueList.push(["2", "3", "4", "5more"])
|
|
41
|
+
attributeValueList.push(["2", "4", "more"])
|
|
42
|
+
attributeValueList.push(["big", "med", "small"])
|
|
43
|
+
attributeValueList.push(["high", "low", "med"])
|
|
44
|
+
for (let i = 0; i < 6; i++){
|
|
45
|
+
attributeTypes.push(AttributeType.DISCRETE_INDEXED)
|
|
46
|
+
}
|
|
47
|
+
dataDefinition = new DataDefinition(attributeTypes, attributeValueList)
|
|
48
|
+
let carIndexed = new DataSet(dataDefinition, ",", "datasets/car.data")
|
|
49
|
+
attributeTypes = new Array<AttributeType>()
|
|
50
|
+
for (let i = 0; i < 9; i++){
|
|
51
|
+
attributeTypes.push(AttributeType.DISCRETE)
|
|
52
|
+
}
|
|
53
|
+
dataDefinition = new DataDefinition(attributeTypes);
|
|
54
|
+
let tictactoe = new DataSet(dataDefinition, ",", "datasets/tictactoe.data")
|
|
55
|
+
it('testTrain', function() {
|
|
56
|
+
this.timeout(4000);
|
|
57
|
+
randomForest.train(iris.getInstanceList(), randomForestParameter);
|
|
58
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(iris.getInstanceList()).getErrorRate()) <= 0.01);
|
|
59
|
+
randomForest.train(bupa.getInstanceList(), randomForestParameter);
|
|
60
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(bupa.getInstanceList()).getErrorRate()) <= 0.01);
|
|
61
|
+
randomForest.train(dermatology.getInstanceList(), randomForestParameter);
|
|
62
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(dermatology.getInstanceList()).getErrorRate()) <= 0.01);
|
|
63
|
+
randomForest.train(car.getInstanceList(), randomForestParameter);
|
|
64
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(car.getInstanceList()).getErrorRate()) <= 0.01);
|
|
65
|
+
randomForest.train(tictactoe.getInstanceList(), randomForestParameter);
|
|
66
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(tictactoe.getInstanceList()).getErrorRate()) <= 0.01);
|
|
67
|
+
randomForest.train(carIndexed.getInstanceList(), randomForestParameter);
|
|
68
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(carIndexed.getInstanceList()).getErrorRate()) <= 0.01);
|
|
69
|
+
});
|
|
70
|
+
it('testLoad', function() {
|
|
71
|
+
randomForest.loadModel("models/randomforest-iris.txt");
|
|
72
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(iris.getInstanceList()).getErrorRate()) <= 0.01);
|
|
73
|
+
randomForest.loadModel("models/randomforest-bupa.txt");
|
|
74
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(bupa.getInstanceList()).getErrorRate()) <= 0.01);
|
|
75
|
+
randomForest.loadModel("models/randomforest-dermatology.txt");
|
|
76
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(dermatology.getInstanceList()).getErrorRate()) <= 0.01);
|
|
77
|
+
randomForest.loadModel("models/randomforest-car.txt");
|
|
78
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(car.getInstanceList()).getErrorRate()) <= 0.01);
|
|
79
|
+
randomForest.loadModel("models/randomforest-tictactoe.txt");
|
|
80
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(tictactoe.getInstanceList()).getErrorRate()) <= 0.01);
|
|
81
|
+
randomForest.loadModel("models/randomforest-carIndexed.txt");
|
|
82
|
+
assert.ok(Math.abs(0.00 - 100 * randomForest.test(carIndexed.getInstanceList()).getErrorRate()) <= 0.01);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
});
|