nlptoolkit-classification 1.0.0 → 1.0.1
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/InstanceList/InstanceList.d.ts +3 -2
- package/dist/InstanceList/InstanceList.js +3 -2
- package/dist/InstanceList/InstanceList.js.map +1 -1
- package/dist/InstanceList/Partition.d.ts +2 -1
- package/dist/InstanceList/Partition.js +5 -1
- package/dist/InstanceList/Partition.js.map +1 -1
- package/dist/Model/DecisionTree/DecisionNode.js +4 -1
- package/dist/Model/DecisionTree/DecisionNode.js.map +1 -1
- package/dist/Model/DeepNetworkModel.js +6 -5
- package/dist/Model/DeepNetworkModel.js.map +1 -1
- package/dist/Model/LinearPerceptronModel.js +4 -3
- package/dist/Model/LinearPerceptronModel.js.map +1 -1
- package/dist/Model/MultiLayerPerceptronModel.d.ts +1 -0
- package/dist/Model/MultiLayerPerceptronModel.js +8 -6
- package/dist/Model/MultiLayerPerceptronModel.js.map +1 -1
- package/dist/Model/NeuralNetworkModel.d.ts +3 -1
- package/dist/Model/NeuralNetworkModel.js +3 -2
- package/dist/Model/NeuralNetworkModel.js.map +1 -1
- package/dist/Model/RandomModel.d.ts +1 -1
- package/dist/Model/RandomModel.js +5 -4
- package/dist/Model/RandomModel.js.map +1 -1
- package/package.json +3 -3
- package/source/InstanceList/InstanceList.ts +4 -2
- package/source/InstanceList/Partition.ts +6 -1
- package/source/Model/DecisionTree/DecisionNode.ts +3 -0
- package/source/Model/DeepNetworkModel.ts +5 -4
- package/source/Model/LinearPerceptronModel.ts +3 -2
- package/source/Model/MultiLayerPerceptronModel.ts +7 -5
- package/source/Model/NeuralNetworkModel.ts +4 -2
- package/source/Model/RandomModel.ts +5 -4
|
@@ -3,6 +3,7 @@ import { Bootstrap } from "nlptoolkit-sampling/dist/Bootstrap";
|
|
|
3
3
|
import { DiscreteDistribution } from "nlptoolkit-math/dist/DiscreteDistribution";
|
|
4
4
|
import { Vector } from "nlptoolkit-math/dist/Vector";
|
|
5
5
|
import { Matrix } from "nlptoolkit-math/dist/Matrix";
|
|
6
|
+
import { Random } from "nlptoolkit-util/dist/Random";
|
|
6
7
|
export declare class InstanceList {
|
|
7
8
|
protected list: Array<Instance>;
|
|
8
9
|
/**
|
|
@@ -56,9 +57,9 @@ export declare class InstanceList {
|
|
|
56
57
|
sort(attributeIndex?: number): void;
|
|
57
58
|
/**
|
|
58
59
|
* Shuffles the instance list.
|
|
59
|
-
* @param
|
|
60
|
+
* @param random Random number generation.
|
|
60
61
|
*/
|
|
61
|
-
shuffle(
|
|
62
|
+
shuffle(random: Random): void;
|
|
62
63
|
/**
|
|
63
64
|
* Creates a bootstrap sample from the current instance list.
|
|
64
65
|
*
|
|
@@ -130,9 +130,10 @@
|
|
|
130
130
|
}
|
|
131
131
|
/**
|
|
132
132
|
* Shuffles the instance list.
|
|
133
|
-
* @param
|
|
133
|
+
* @param random Random number generation.
|
|
134
134
|
*/
|
|
135
|
-
shuffle(
|
|
135
|
+
shuffle(random) {
|
|
136
|
+
random.shuffle(this.list);
|
|
136
137
|
}
|
|
137
138
|
/**
|
|
138
139
|
* Creates a bootstrap sample from the current instance list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceList.js","sourceRoot":"","sources":["../../source/InstanceList/InstanceList.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InstanceList.js","sourceRoot":"","sources":["../../source/InstanceList/InstanceList.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { InstanceList } from "./InstanceList";
|
|
2
2
|
import { Instance } from "../Instance/Instance";
|
|
3
|
+
import { Random } from "nlptoolkit-util/dist/Random";
|
|
3
4
|
export declare class Partition {
|
|
4
5
|
private multiList;
|
|
5
|
-
constructor(instanceList?: InstanceList, attributeIndex?: number, stratifiedOrValue?: any);
|
|
6
|
+
constructor(instanceList?: InstanceList, attributeIndex?: number, stratifiedOrValue?: any, random?: Random);
|
|
6
7
|
/**
|
|
7
8
|
* Adds given instance list to the list of instance lists.
|
|
8
9
|
*
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
const InstanceList_1 = require("./InstanceList");
|
|
14
14
|
const InstanceListOfSameClass_1 = require("./InstanceListOfSameClass");
|
|
15
15
|
class Partition {
|
|
16
|
-
constructor(instanceList, attributeIndex, stratifiedOrValue) {
|
|
16
|
+
constructor(instanceList, attributeIndex, stratifiedOrValue, random) {
|
|
17
17
|
this.multiList = new Array();
|
|
18
18
|
if (instanceList != undefined) {
|
|
19
19
|
if (attributeIndex == undefined) {
|
|
@@ -46,6 +46,9 @@
|
|
|
46
46
|
for (let i = 0; i < instanceList.size(); i++) {
|
|
47
47
|
randomArray.push(i);
|
|
48
48
|
}
|
|
49
|
+
if (random != undefined) {
|
|
50
|
+
random.shuffle(randomArray);
|
|
51
|
+
}
|
|
49
52
|
for (let i = 0; i < instanceList.size(); i++) {
|
|
50
53
|
let instance = instanceList.get(randomArray[i]);
|
|
51
54
|
let classIndex = distribution.getIndex(instance.getClassLabel());
|
|
@@ -60,6 +63,7 @@
|
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
else {
|
|
66
|
+
instanceList.shuffle(random);
|
|
63
67
|
for (let i = 0; i < instanceList.size(); i++) {
|
|
64
68
|
let instance = instanceList.get(i);
|
|
65
69
|
let ratio = attributeIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Partition.js","sourceRoot":"","sources":["../../source/InstanceList/Partition.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iDAA4C;IAC5C,uEAAkE;
|
|
1
|
+
{"version":3,"file":"Partition.js","sourceRoot":"","sources":["../../source/InstanceList/Partition.ts"],"names":[],"mappings":"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"}
|
|
@@ -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", "./DecisionCondition", "../Model", "../../Attribute/DiscreteIndexedAttribute", "../../Attribute/DiscreteAttribute", "../../Attribute/ContinuousAttribute", "nlptoolkit-math/dist/DiscreteDistribution", "../../InstanceList/Partition", "../../Instance/CompositeInstance"], factory);
|
|
7
|
+
define(["require", "exports", "./DecisionCondition", "../Model", "../../Attribute/DiscreteIndexedAttribute", "../../Attribute/DiscreteAttribute", "../../Attribute/ContinuousAttribute", "nlptoolkit-math/dist/DiscreteDistribution", "../../InstanceList/Partition", "../../Instance/CompositeInstance", "nlptoolkit-util/dist/Random"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
const DiscreteDistribution_1 = require("nlptoolkit-math/dist/DiscreteDistribution");
|
|
19
19
|
const Partition_1 = require("../../InstanceList/Partition");
|
|
20
20
|
const CompositeInstance_1 = require("../../Instance/CompositeInstance");
|
|
21
|
+
const Random_1 = require("nlptoolkit-util/dist/Random");
|
|
21
22
|
class DecisionNode {
|
|
22
23
|
/**
|
|
23
24
|
* The DecisionNode method takes {@link InstanceList} data as input, and then it sets the class label parameter by finding
|
|
@@ -68,6 +69,8 @@
|
|
|
68
69
|
}
|
|
69
70
|
let size;
|
|
70
71
|
if (parameter != undefined && parameter.getAttributeSubsetSize() < data.get(0).attributeSize()) {
|
|
72
|
+
let random = new Random_1.Random(parameter.getSeed());
|
|
73
|
+
random.shuffle(indexList);
|
|
71
74
|
size = parameter.getAttributeSubsetSize();
|
|
72
75
|
}
|
|
73
76
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecisionNode.js","sourceRoot":"","sources":["../../../source/Model/DecisionTree/DecisionNode.ts"],"names":[],"mappings":";;;;;;;;;;;;IACA,2DAAsD;IAEtD,oCAA+B;IAC/B,uFAAkF;IAClF,yEAAoE;IACpE,6EAAwE;IACxE,oFAA+E;IAC/E,4DAAuD;IAEvD,wEAAmE;
|
|
1
|
+
{"version":3,"file":"DecisionNode.js","sourceRoot":"","sources":["../../../source/Model/DecisionTree/DecisionNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -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", "./NeuralNetworkModel", "nlptoolkit-math/dist/Matrix", "../Parameter/ActivationFunction", "nlptoolkit-math/dist/Vector", "../Performance/ClassificationPerformance"], factory);
|
|
7
|
+
define(["require", "exports", "./NeuralNetworkModel", "nlptoolkit-math/dist/Matrix", "../Parameter/ActivationFunction", "nlptoolkit-math/dist/Vector", "../Performance/ClassificationPerformance", "nlptoolkit-util/dist/Random"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
const ActivationFunction_1 = require("../Parameter/ActivationFunction");
|
|
16
16
|
const Vector_1 = require("nlptoolkit-math/dist/Vector");
|
|
17
17
|
const ClassificationPerformance_1 = require("../Performance/ClassificationPerformance");
|
|
18
|
+
const Random_1 = require("nlptoolkit-util/dist/Random");
|
|
18
19
|
class DeepNetworkModel extends NeuralNetworkModel_1.NeuralNetworkModel {
|
|
19
20
|
/**
|
|
20
21
|
* Constructor that takes two {@link InstanceList} train set and validation set and {@link DeepNetworkParameter} as inputs.
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
let epoch = parameters.getEpoch();
|
|
43
44
|
let learningRate = parameters.getLearningRate();
|
|
44
45
|
for (let i = 0; i < epoch; i++) {
|
|
45
|
-
trainSet.shuffle(parameters.getSeed());
|
|
46
|
+
trainSet.shuffle(new Random_1.Random(parameters.getSeed()));
|
|
46
47
|
for (let j = 0; j < trainSet.size(); j++) {
|
|
47
48
|
this.createInputVector(trainSet.get(j));
|
|
48
49
|
hidden = new Array();
|
|
@@ -119,11 +120,11 @@
|
|
|
119
120
|
*/
|
|
120
121
|
allocateWeights(parameters) {
|
|
121
122
|
this.weights = new Array();
|
|
122
|
-
this.weights.push(this.allocateLayerWeights(parameters.getHiddenNodes(0), this.d + 1));
|
|
123
|
+
this.weights.push(this.allocateLayerWeights(parameters.getHiddenNodes(0), this.d + 1, new Random_1.Random(parameters.getSeed())));
|
|
123
124
|
for (let i = 0; i < parameters.layerSize() - 1; i++) {
|
|
124
|
-
this.weights.push(this.allocateLayerWeights(parameters.getHiddenNodes(i + 1), parameters.getHiddenNodes(i) + 1));
|
|
125
|
+
this.weights.push(this.allocateLayerWeights(parameters.getHiddenNodes(i + 1), parameters.getHiddenNodes(i) + 1, new Random_1.Random(parameters.getSeed())));
|
|
125
126
|
}
|
|
126
|
-
this.weights.push(this.allocateLayerWeights(this.K, parameters.getHiddenNodes(parameters.layerSize() - 1) + 1));
|
|
127
|
+
this.weights.push(this.allocateLayerWeights(this.K, parameters.getHiddenNodes(parameters.layerSize() - 1) + 1, new Random_1.Random(parameters.getSeed())));
|
|
127
128
|
this.hiddenLayerSize = parameters.layerSize();
|
|
128
129
|
}
|
|
129
130
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeepNetworkModel.js","sourceRoot":"","sources":["../../source/Model/DeepNetworkModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,6DAAwD;IACxD,wDAAmD;IACnD,wEAAmE;IAGnE,wDAAmD;IACnD,wFAAmF;
|
|
1
|
+
{"version":3,"file":"DeepNetworkModel.js","sourceRoot":"","sources":["../../source/Model/DeepNetworkModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,6DAAwD;IACxD,wDAAmD;IACnD,wEAAmE;IAGnE,wDAAmD;IACnD,wFAAmF;IACnF,wDAAmD;IAEnD,MAAa,gBAAiB,SAAQ,uCAAkB;QAqCpD;;;;;;;;;;;;WAYG;QACH,YAAY,QAAsB,EAAE,aAA2B,EAAE,UAAgC;YAC7F,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChB,IAAI,SAAS,GAAG,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,YAAY,GAAG,IAAI,KAAK,EAAU,CAAC;YACvC,IAAI,MAAM,GAAG,IAAI,KAAK,EAAU,CAAC;YACjC,IAAI,YAAY,GAAG,IAAI,KAAK,EAAU,CAAC;YACvC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC7D,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACjC,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,6BAA6B,GAAG,IAAI,qDAAyB,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,YAAY,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5B,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,MAAM,GAAG,IAAI,KAAK,EAAU,CAAC;oBAC7B,YAAY,GAAG,IAAI,KAAK,EAAU,CAAC;oBACnC,YAAY,GAAG,IAAI,KAAK,EAAU,CAAC;oBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,CAAC,IAAI,CAAC,EAAE;4BACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;yBACvF;6BAAM;4BACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;yBACpG;wBACD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;qBACzC;oBACD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpI,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,eAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvF,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC/C,IAAI,IAAI,CAAA;wBACR,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;4BAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;yBAClE;6BAAM;4BACH,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;yBACpE;wBACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBACf,IAAI,oBAAoB,CAAA;wBACxB,QAAQ,IAAI,CAAC,kBAAkB,EAAC;4BAC5B,KAAK,uCAAkB,CAAC,OAAO,CAAC;4BAChC;gCACI,IAAI,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC7D,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gCAChE,MAAM;4BACV,KAAK,uCAAkB,CAAC,IAAI;gCACxB,IAAI,GAAG,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gCACzC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gCACjB,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC3E,MAAM;4BACV,KAAK,uCAAkB,CAAC,IAAI;gCACxB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;gCAC3B,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gCACjC,MAAM;yBACb;wBACD,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;wBACtD,IAAI,CAAC,IAAI,CAAC,EAAE;4BACR,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,eAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC5D;6BAAM;4BACH,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,eAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;yBACzE;qBACJ;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1C,YAAY,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;wBACnD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxC;iBACJ;gBACD,IAAI,gCAAgC,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBAC1E,IAAI,gCAAgC,CAAC,WAAW,EAAE,GAAG,6BAA6B,CAAC,WAAW,EAAE,EAAE;oBAC9F,6BAA6B,GAAG,gCAAgC,CAAC;oBACjE,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;iBACvC;gBACD,YAAY,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;aAC/C;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,EAAU,CAAC;YACnC,KAAK,IAAI,CAAC,IAAI,WAAW,EAAE;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACxB;QACL,CAAC;QAzHD;;;;;;WAMG;QACK,eAAe,CAAC,UAAgC;YACpD,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,EAAU,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,eAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACzH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,eAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;aACtJ;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,eAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAClJ,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QAClD,CAAC;QAED;;;;;WAKG;QACK,cAAc;YAClB,IAAI,WAAW,GAAG,IAAI,KAAK,EAAU,CAAC;YACtC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;aAC/B;YACD,OAAO,WAAW,CAAC;QACvB,CAAC;QA8FD;;;WAGG;QACO,eAAe;YACrB,IAAI,YAAY,CAAA;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,MAAM,CAAA;gBACV,IAAI,CAAC,IAAI,CAAC,EAAE;oBACR,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;iBACnF;qBAAM;oBACH,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;iBACzF;gBACD,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;aAClC;YACD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;QAC7F,CAAC;KAEJ;IAnJD,4CAmJC"}
|
|
@@ -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", "./NeuralNetworkModel", "nlptoolkit-math/dist/Matrix", "../Performance/ClassificationPerformance"], factory);
|
|
7
|
+
define(["require", "exports", "./NeuralNetworkModel", "nlptoolkit-math/dist/Matrix", "../Performance/ClassificationPerformance", "nlptoolkit-util/dist/Random"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
const NeuralNetworkModel_1 = require("./NeuralNetworkModel");
|
|
14
14
|
const Matrix_1 = require("nlptoolkit-math/dist/Matrix");
|
|
15
15
|
const ClassificationPerformance_1 = require("../Performance/ClassificationPerformance");
|
|
16
|
+
const Random_1 = require("nlptoolkit-util/dist/Random");
|
|
16
17
|
class LinearPerceptronModel extends NeuralNetworkModel_1.NeuralNetworkModel {
|
|
17
18
|
/**
|
|
18
19
|
* Constructor that takes {@link InstanceList}s as trainsSet and validationSet. Initially it allocates layer weights,
|
|
@@ -26,13 +27,13 @@
|
|
|
26
27
|
constructor(trainSet, validationSet, parameters) {
|
|
27
28
|
super(trainSet);
|
|
28
29
|
if (validationSet != undefined) {
|
|
29
|
-
let W = this.allocateLayerWeights(this.K, this.d + 1);
|
|
30
|
+
let W = this.allocateLayerWeights(this.K, this.d + 1, new Random_1.Random(parameters.getSeed()));
|
|
30
31
|
let bestW = W.clone();
|
|
31
32
|
let bestClassificationPerformance = new ClassificationPerformance_1.ClassificationPerformance(0.0);
|
|
32
33
|
let epoch = parameters.getEpoch();
|
|
33
34
|
let learningRate = parameters.getLearningRate();
|
|
34
35
|
for (let i = 0; i < epoch; i++) {
|
|
35
|
-
trainSet.shuffle(parameters.getSeed());
|
|
36
|
+
trainSet.shuffle(new Random_1.Random(parameters.getSeed()));
|
|
36
37
|
for (let j = 0; j < trainSet.size(); j++) {
|
|
37
38
|
this.createInputVector(trainSet.get(j));
|
|
38
39
|
let rMinusY = this.calculateRMinusY(trainSet.get(j), this.x, W);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearPerceptronModel.js","sourceRoot":"","sources":["../../source/Model/LinearPerceptronModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,6DAAwD;IACxD,wDAAmD;IAGnD,wFAAmF;
|
|
1
|
+
{"version":3,"file":"LinearPerceptronModel.js","sourceRoot":"","sources":["../../source/Model/LinearPerceptronModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,6DAAwD;IACxD,wDAAmD;IAGnD,wFAAmF;IACnF,wDAAmD;IAEnD,MAAa,qBAAsB,SAAQ,uCAAkB;QAIzD;;;;;;;;WAQG;QACH,YAAY,QAAsB,EAAE,aAA4B,EAAE,UAAsC;YACpG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChB,IAAI,aAAa,IAAI,SAAS,EAAC;gBAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,eAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACxF,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,6BAA6B,GAAG,IAAI,qDAAyB,CAAC,GAAG,CAAC,CAAC;gBACvE,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,YAAY,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;gBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC5B,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;wBACtC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAChE,IAAI,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;wBACzC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;wBAC1C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;qBACjB;oBACD,IAAI,gCAAgC,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;oBAC1E,IAAI,gCAAgC,CAAC,WAAW,EAAE,GAAG,6BAA6B,CAAC,WAAW,EAAE,EAAE;wBAC9F,6BAA6B,GAAG,gCAAgC,CAAC;wBACjE,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;qBACrB;oBACD,YAAY,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;iBAC/C;gBACD,CAAC,GAAG,KAAK,CAAC;aACb;QACL,CAAC;QAED;;WAEG;QACO,eAAe;YACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;KAEJ;IAhDD,sDAgDC"}
|
|
@@ -9,6 +9,7 @@ export declare class MultiLayerPerceptronModel extends LinearPerceptronModel {
|
|
|
9
9
|
* The allocateWeights method allocates layers' weights of Matrix W and V.
|
|
10
10
|
*
|
|
11
11
|
* @param H Integer value for weights.
|
|
12
|
+
* @param random Random function to set weights.
|
|
12
13
|
*/
|
|
13
14
|
private allocateWeights;
|
|
14
15
|
/**
|
|
@@ -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", "./LinearPerceptronModel", "nlptoolkit-math/dist/Matrix", "../Parameter/ActivationFunction", "../Performance/ClassificationPerformance", "nlptoolkit-math/dist/Vector"], factory);
|
|
7
|
+
define(["require", "exports", "./LinearPerceptronModel", "nlptoolkit-math/dist/Matrix", "../Parameter/ActivationFunction", "../Performance/ClassificationPerformance", "nlptoolkit-math/dist/Vector", "nlptoolkit-util/dist/Random"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
const ActivationFunction_1 = require("../Parameter/ActivationFunction");
|
|
16
16
|
const ClassificationPerformance_1 = require("../Performance/ClassificationPerformance");
|
|
17
17
|
const Vector_1 = require("nlptoolkit-math/dist/Vector");
|
|
18
|
+
const Random_1 = require("nlptoolkit-util/dist/Random");
|
|
18
19
|
class MultiLayerPerceptronModel extends LinearPerceptronModel_1.LinearPerceptronModel {
|
|
19
20
|
/**
|
|
20
21
|
* A constructor that takes {@link InstanceList}s as trainsSet and validationSet. It sets the {@link NeuralNetworkModel}
|
|
@@ -29,14 +30,14 @@
|
|
|
29
30
|
constructor(trainSet, validationSet, parameters) {
|
|
30
31
|
super(trainSet);
|
|
31
32
|
this.activationFunction = parameters.getActivationFunction();
|
|
32
|
-
this.allocateWeights(parameters.getHiddenNodes());
|
|
33
|
+
this.allocateWeights(parameters.getHiddenNodes(), new Random_1.Random(parameters.getSeed()));
|
|
33
34
|
let bestW = this.W.clone();
|
|
34
35
|
let bestV = this.V.clone();
|
|
35
36
|
let bestClassificationPerformance = new ClassificationPerformance_1.ClassificationPerformance(0.0);
|
|
36
37
|
let epoch = parameters.getEpoch();
|
|
37
38
|
let learningRate = parameters.getLearningRate();
|
|
38
39
|
for (let i = 0; i < epoch; i++) {
|
|
39
|
-
trainSet.shuffle(parameters.getSeed());
|
|
40
|
+
trainSet.shuffle(new Random_1.Random(parameters.getSeed()));
|
|
40
41
|
for (let j = 0; j < trainSet.size(); j++) {
|
|
41
42
|
this.createInputVector(trainSet.get(j));
|
|
42
43
|
let hidden = this.calculateHidden(this.x, this.W, this.activationFunction);
|
|
@@ -84,10 +85,11 @@
|
|
|
84
85
|
* The allocateWeights method allocates layers' weights of Matrix W and V.
|
|
85
86
|
*
|
|
86
87
|
* @param H Integer value for weights.
|
|
88
|
+
* @param random Random function to set weights.
|
|
87
89
|
*/
|
|
88
|
-
allocateWeights(H) {
|
|
89
|
-
this.W = this.allocateLayerWeights(H, this.d + 1);
|
|
90
|
-
this.V = this.allocateLayerWeights(this.K, H + 1);
|
|
90
|
+
allocateWeights(H, random) {
|
|
91
|
+
this.W = this.allocateLayerWeights(H, this.d + 1, random);
|
|
92
|
+
this.V = this.allocateLayerWeights(this.K, H + 1, random);
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
95
|
* The calculateOutput method calculates the forward single hidden layer by using Matrices W and V.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiLayerPerceptronModel.js","sourceRoot":"","sources":["../../source/Model/MultiLayerPerceptronModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mEAA8D;IAC9D,wDAAmD;IACnD,wEAAmE;IAGnE,wFAAmF;IACnF,wDAAmD;IAEnD,MAAa,yBAA0B,SAAQ,6CAAqB;
|
|
1
|
+
{"version":3,"file":"MultiLayerPerceptronModel.js","sourceRoot":"","sources":["../../source/Model/MultiLayerPerceptronModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { InstanceList } from "../InstanceList/InstanceList";
|
|
|
4
4
|
import { Matrix } from "nlptoolkit-math/dist/Matrix";
|
|
5
5
|
import { Instance } from "../Instance/Instance";
|
|
6
6
|
import { ActivationFunction } from "../Parameter/ActivationFunction";
|
|
7
|
+
import { Random } from "nlptoolkit-util/dist/Random";
|
|
7
8
|
export declare abstract class NeuralNetworkModel extends ValidatedModel {
|
|
8
9
|
protected classLabels: Array<string>;
|
|
9
10
|
protected K: number;
|
|
@@ -23,9 +24,10 @@ export declare abstract class NeuralNetworkModel extends ValidatedModel {
|
|
|
23
24
|
*
|
|
24
25
|
* @param row Number of rows.
|
|
25
26
|
* @param column Number of columns.
|
|
27
|
+
* @param random Random function to set weights.
|
|
26
28
|
* @return Matrix with random weights.
|
|
27
29
|
*/
|
|
28
|
-
protected allocateLayerWeights(row: number, column: number): Matrix;
|
|
30
|
+
protected allocateLayerWeights(row: number, column: number, random: Random): Matrix;
|
|
29
31
|
/**
|
|
30
32
|
* The normalizeOutput method takes an input {@link Vector} o, gets the result for e^o of each element of o,
|
|
31
33
|
* then sums them up. At the end, divides each e^o by the summation.
|
|
@@ -32,10 +32,11 @@
|
|
|
32
32
|
*
|
|
33
33
|
* @param row Number of rows.
|
|
34
34
|
* @param column Number of columns.
|
|
35
|
+
* @param random Random function to set weights.
|
|
35
36
|
* @return Matrix with random weights.
|
|
36
37
|
*/
|
|
37
|
-
allocateLayerWeights(row, column) {
|
|
38
|
-
return new Matrix_1.Matrix(row, column, -0.01, +0.01);
|
|
38
|
+
allocateLayerWeights(row, column, random) {
|
|
39
|
+
return new Matrix_1.Matrix(row, column, -0.01, +0.01, random);
|
|
39
40
|
}
|
|
40
41
|
/**
|
|
41
42
|
* The normalizeOutput method takes an input {@link Vector} o, gets the result for e^o of each element of o,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeuralNetworkModel.js","sourceRoot":"","sources":["../../source/Model/NeuralNetworkModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,qDAAgD;IAChD,wDAAmD;IAEnD,wDAAmD;IAEnD,wEAAmE;IACnE,qEAAgE;
|
|
1
|
+
{"version":3,"file":"NeuralNetworkModel.js","sourceRoot":"","sources":["../../source/Model/NeuralNetworkModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { Model } from "./Model";
|
|
|
2
2
|
import { Instance } from "../Instance/Instance";
|
|
3
3
|
export declare class RandomModel extends Model {
|
|
4
4
|
private classLabels;
|
|
5
|
-
private
|
|
5
|
+
private random;
|
|
6
6
|
constructor(classLabels: Array<string>, seed: number);
|
|
7
7
|
/**
|
|
8
8
|
* The predict method gets an Instance as an input and retrieves the possible class labels as an ArrayList. Then selects a
|
|
@@ -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"], factory);
|
|
7
|
+
define(["require", "exports", "./Model", "../Instance/CompositeInstance", "nlptoolkit-util/dist/Random"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -12,11 +12,12 @@
|
|
|
12
12
|
exports.RandomModel = void 0;
|
|
13
13
|
const Model_1 = require("./Model");
|
|
14
14
|
const CompositeInstance_1 = require("../Instance/CompositeInstance");
|
|
15
|
+
const Random_1 = require("nlptoolkit-util/dist/Random");
|
|
15
16
|
class RandomModel extends Model_1.Model {
|
|
16
17
|
constructor(classLabels, seed) {
|
|
17
18
|
super();
|
|
18
19
|
this.classLabels = classLabels;
|
|
19
|
-
this.
|
|
20
|
+
this.random = new Random_1.Random(seed);
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* The predict method gets an Instance as an input and retrieves the possible class labels as an ArrayList. Then selects a
|
|
@@ -29,12 +30,12 @@
|
|
|
29
30
|
if ((instance instanceof CompositeInstance_1.CompositeInstance)) {
|
|
30
31
|
let possibleClassLabels = instance.getPossibleClassLabels();
|
|
31
32
|
let size = possibleClassLabels.length;
|
|
32
|
-
let index =
|
|
33
|
+
let index = this.random.nextInt(size);
|
|
33
34
|
return possibleClassLabels[index];
|
|
34
35
|
}
|
|
35
36
|
else {
|
|
36
37
|
let size = this.classLabels.length;
|
|
37
|
-
let index =
|
|
38
|
+
let index = this.random.nextInt(size);
|
|
38
39
|
return this.classLabels[index];
|
|
39
40
|
}
|
|
40
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RandomModel.js","sourceRoot":"","sources":["../../source/Model/RandomModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mCAA8B;IAE9B,qEAAgE;
|
|
1
|
+
{"version":3,"file":"RandomModel.js","sourceRoot":"","sources":["../../source/Model/RandomModel.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,mCAA8B;IAE9B,qEAAgE;IAChE,wDAAmD;IAEnD,MAAa,WAAY,SAAQ,aAAK;QAKlC,YAAY,WAA0B,EAAE,IAAY;YAChD,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAA;QAClC,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;KAEJ;IAvCD,kCAuCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nlptoolkit-classification",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Classification Library",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.js",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"@types/mocha": "^9.0.0",
|
|
22
22
|
"mocha": "^9.1.3",
|
|
23
23
|
"nlptoolkit-datastructure": "^1.0.0",
|
|
24
|
-
"nlptoolkit-math": "^1.0.
|
|
24
|
+
"nlptoolkit-math": "^1.0.1",
|
|
25
25
|
"nlptoolkit-sampling": "^1.0.0",
|
|
26
|
-
"nlptoolkit-util": "^1.0.
|
|
26
|
+
"nlptoolkit-util": "^1.0.4",
|
|
27
27
|
"ts-node": "^10.4.0",
|
|
28
28
|
"typescript": "^4.5.4"
|
|
29
29
|
}
|
|
@@ -13,6 +13,7 @@ import {DiscreteIndexedAttribute} from "../Attribute/DiscreteIndexedAttribute";
|
|
|
13
13
|
import {DiscreteDistribution} from "nlptoolkit-math/dist/DiscreteDistribution";
|
|
14
14
|
import {Vector} from "nlptoolkit-math/dist/Vector";
|
|
15
15
|
import {Matrix} from "nlptoolkit-math/dist/Matrix";
|
|
16
|
+
import {Random} from "nlptoolkit-util/dist/Random";
|
|
16
17
|
|
|
17
18
|
export class InstanceList {
|
|
18
19
|
|
|
@@ -128,9 +129,10 @@ export class InstanceList {
|
|
|
128
129
|
|
|
129
130
|
/**
|
|
130
131
|
* Shuffles the instance list.
|
|
131
|
-
* @param
|
|
132
|
+
* @param random Random number generation.
|
|
132
133
|
*/
|
|
133
|
-
shuffle(
|
|
134
|
+
shuffle(random: Random){
|
|
135
|
+
random.shuffle(this.list)
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
/**
|
|
@@ -4,12 +4,13 @@ import {DiscreteAttribute} from "../Attribute/DiscreteAttribute";
|
|
|
4
4
|
import {DiscreteIndexedAttribute} from "../Attribute/DiscreteIndexedAttribute";
|
|
5
5
|
import {ContinuousAttribute} from "../Attribute/ContinuousAttribute";
|
|
6
6
|
import {Instance} from "../Instance/Instance";
|
|
7
|
+
import {Random} from "nlptoolkit-util/dist/Random";
|
|
7
8
|
|
|
8
9
|
export class Partition {
|
|
9
10
|
|
|
10
11
|
private multiList: Array<InstanceList> = new Array<InstanceList>()
|
|
11
12
|
|
|
12
|
-
constructor(instanceList?: InstanceList, attributeIndex?: number, stratifiedOrValue?: any) {
|
|
13
|
+
constructor(instanceList?: InstanceList, attributeIndex?: number, stratifiedOrValue?: any, random?: Random) {
|
|
13
14
|
if (instanceList != undefined){
|
|
14
15
|
if (attributeIndex == undefined){
|
|
15
16
|
let classLabels = instanceList.getDistinctClassLabels();
|
|
@@ -39,6 +40,9 @@ export class Partition {
|
|
|
39
40
|
for (let i = 0; i < instanceList.size(); i++){
|
|
40
41
|
randomArray.push(i);
|
|
41
42
|
}
|
|
43
|
+
if (random != undefined){
|
|
44
|
+
random.shuffle(randomArray)
|
|
45
|
+
}
|
|
42
46
|
for (let i = 0; i < instanceList.size(); i++) {
|
|
43
47
|
let instance = instanceList.get(randomArray[i]);
|
|
44
48
|
let classIndex = distribution.getIndex(instance.getClassLabel());
|
|
@@ -51,6 +55,7 @@ export class Partition {
|
|
|
51
55
|
counts[classIndex]++;
|
|
52
56
|
}
|
|
53
57
|
} else {
|
|
58
|
+
instanceList.shuffle(random)
|
|
54
59
|
for (let i = 0; i < instanceList.size(); i++) {
|
|
55
60
|
let instance = instanceList.get(i);
|
|
56
61
|
let ratio = attributeIndex
|
|
@@ -9,6 +9,7 @@ import {DiscreteDistribution} from "nlptoolkit-math/dist/DiscreteDistribution";
|
|
|
9
9
|
import {Partition} from "../../InstanceList/Partition";
|
|
10
10
|
import {Instance} from "../../Instance/Instance";
|
|
11
11
|
import {CompositeInstance} from "../../Instance/CompositeInstance";
|
|
12
|
+
import {Random} from "nlptoolkit-util/dist/Random";
|
|
12
13
|
|
|
13
14
|
export class DecisionNode {
|
|
14
15
|
|
|
@@ -62,6 +63,8 @@ export class DecisionNode {
|
|
|
62
63
|
}
|
|
63
64
|
let size
|
|
64
65
|
if (parameter != undefined && parameter.getAttributeSubsetSize() < data.get(0).attributeSize()) {
|
|
66
|
+
let random = new Random(parameter.getSeed())
|
|
67
|
+
random.shuffle(indexList)
|
|
65
68
|
size = parameter.getAttributeSubsetSize();
|
|
66
69
|
} else {
|
|
67
70
|
size = data.get(0).attributeSize();
|
|
@@ -5,6 +5,7 @@ import {DeepNetworkParameter} from "../Parameter/DeepNetworkParameter";
|
|
|
5
5
|
import {InstanceList} from "../InstanceList/InstanceList";
|
|
6
6
|
import {Vector} from "nlptoolkit-math/dist/Vector";
|
|
7
7
|
import {ClassificationPerformance} from "../Performance/ClassificationPerformance";
|
|
8
|
+
import {Random} from "nlptoolkit-util/dist/Random";
|
|
8
9
|
|
|
9
10
|
export class DeepNetworkModel extends NeuralNetworkModel{
|
|
10
11
|
|
|
@@ -21,11 +22,11 @@ export class DeepNetworkModel extends NeuralNetworkModel{
|
|
|
21
22
|
*/
|
|
22
23
|
private allocateWeights(parameters: DeepNetworkParameter){
|
|
23
24
|
this.weights = new Array<Matrix>();
|
|
24
|
-
this.weights.push(this.allocateLayerWeights(parameters.getHiddenNodes(0), this.d + 1));
|
|
25
|
+
this.weights.push(this.allocateLayerWeights(parameters.getHiddenNodes(0), this.d + 1, new Random(parameters.getSeed())));
|
|
25
26
|
for (let i = 0; i < parameters.layerSize() - 1; i++) {
|
|
26
|
-
this.weights.push(this.allocateLayerWeights(parameters.getHiddenNodes(i + 1), parameters.getHiddenNodes(i) + 1));
|
|
27
|
+
this.weights.push(this.allocateLayerWeights(parameters.getHiddenNodes(i + 1), parameters.getHiddenNodes(i) + 1, new Random(parameters.getSeed())));
|
|
27
28
|
}
|
|
28
|
-
this.weights.push(this.allocateLayerWeights(this.K, parameters.getHiddenNodes(parameters.layerSize() - 1) + 1));
|
|
29
|
+
this.weights.push(this.allocateLayerWeights(this.K, parameters.getHiddenNodes(parameters.layerSize() - 1) + 1, new Random(parameters.getSeed())));
|
|
29
30
|
this.hiddenLayerSize = parameters.layerSize();
|
|
30
31
|
}
|
|
31
32
|
|
|
@@ -69,7 +70,7 @@ export class DeepNetworkModel extends NeuralNetworkModel{
|
|
|
69
70
|
let epoch = parameters.getEpoch();
|
|
70
71
|
let learningRate = parameters.getLearningRate();
|
|
71
72
|
for (let i = 0; i < epoch; i++) {
|
|
72
|
-
trainSet.shuffle(parameters.getSeed());
|
|
73
|
+
trainSet.shuffle(new Random(parameters.getSeed()));
|
|
73
74
|
for (let j = 0; j < trainSet.size(); j++) {
|
|
74
75
|
this.createInputVector(trainSet.get(j));
|
|
75
76
|
hidden = new Array<Vector>();
|
|
@@ -3,6 +3,7 @@ import {Matrix} from "nlptoolkit-math/dist/Matrix";
|
|
|
3
3
|
import {InstanceList} from "../InstanceList/InstanceList";
|
|
4
4
|
import {LinearPerceptronParameter} from "../Parameter/LinearPerceptronParameter";
|
|
5
5
|
import {ClassificationPerformance} from "../Performance/ClassificationPerformance";
|
|
6
|
+
import {Random} from "nlptoolkit-util/dist/Random";
|
|
6
7
|
|
|
7
8
|
export class LinearPerceptronModel extends NeuralNetworkModel{
|
|
8
9
|
|
|
@@ -20,13 +21,13 @@ export class LinearPerceptronModel extends NeuralNetworkModel{
|
|
|
20
21
|
constructor(trainSet: InstanceList, validationSet?: InstanceList, parameters?: LinearPerceptronParameter) {
|
|
21
22
|
super(trainSet);
|
|
22
23
|
if (validationSet != undefined){
|
|
23
|
-
let W = this.allocateLayerWeights(this.K, this.d + 1);
|
|
24
|
+
let W = this.allocateLayerWeights(this.K, this.d + 1, new Random(parameters.getSeed()));
|
|
24
25
|
let bestW = W.clone();
|
|
25
26
|
let bestClassificationPerformance = new ClassificationPerformance(0.0);
|
|
26
27
|
let epoch = parameters.getEpoch();
|
|
27
28
|
let learningRate = parameters.getLearningRate();
|
|
28
29
|
for (let i = 0; i < epoch; i++) {
|
|
29
|
-
trainSet.shuffle(parameters.getSeed());
|
|
30
|
+
trainSet.shuffle(new Random(parameters.getSeed()));
|
|
30
31
|
for (let j = 0; j < trainSet.size(); j++) {
|
|
31
32
|
this.createInputVector(trainSet.get(j));
|
|
32
33
|
let rMinusY = this.calculateRMinusY(trainSet.get(j), this.x, W);
|
|
@@ -5,6 +5,7 @@ import {InstanceList} from "../InstanceList/InstanceList";
|
|
|
5
5
|
import {MultiLayerPerceptronParameter} from "../Parameter/MultiLayerPerceptronParameter";
|
|
6
6
|
import {ClassificationPerformance} from "../Performance/ClassificationPerformance";
|
|
7
7
|
import {Vector} from "nlptoolkit-math/dist/Vector";
|
|
8
|
+
import {Random} from "nlptoolkit-util/dist/Random";
|
|
8
9
|
|
|
9
10
|
export class MultiLayerPerceptronModel extends LinearPerceptronModel{
|
|
10
11
|
|
|
@@ -15,10 +16,11 @@ export class MultiLayerPerceptronModel extends LinearPerceptronModel{
|
|
|
15
16
|
* The allocateWeights method allocates layers' weights of Matrix W and V.
|
|
16
17
|
*
|
|
17
18
|
* @param H Integer value for weights.
|
|
19
|
+
* @param random Random function to set weights.
|
|
18
20
|
*/
|
|
19
|
-
private allocateWeights(H: number){
|
|
20
|
-
this.W = this.allocateLayerWeights(H, this.d + 1);
|
|
21
|
-
this.V = this.allocateLayerWeights(this.K, H + 1);
|
|
21
|
+
private allocateWeights(H: number, random: Random){
|
|
22
|
+
this.W = this.allocateLayerWeights(H, this.d + 1, random);
|
|
23
|
+
this.V = this.allocateLayerWeights(this.K, H + 1, random);
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
/**
|
|
@@ -34,14 +36,14 @@ export class MultiLayerPerceptronModel extends LinearPerceptronModel{
|
|
|
34
36
|
constructor(trainSet: InstanceList, validationSet: InstanceList, parameters: MultiLayerPerceptronParameter) {
|
|
35
37
|
super(trainSet);
|
|
36
38
|
this.activationFunction = parameters.getActivationFunction();
|
|
37
|
-
this.allocateWeights(parameters.getHiddenNodes());
|
|
39
|
+
this.allocateWeights(parameters.getHiddenNodes(), new Random(parameters.getSeed()));
|
|
38
40
|
let bestW = this.W.clone();
|
|
39
41
|
let bestV = this.V.clone();
|
|
40
42
|
let bestClassificationPerformance = new ClassificationPerformance(0.0);
|
|
41
43
|
let epoch = parameters.getEpoch();
|
|
42
44
|
let learningRate = parameters.getLearningRate();
|
|
43
45
|
for (let i = 0; i < epoch; i++) {
|
|
44
|
-
trainSet.shuffle(parameters.getSeed());
|
|
46
|
+
trainSet.shuffle(new Random(parameters.getSeed()));
|
|
45
47
|
for (let j = 0; j < trainSet.size(); j++) {
|
|
46
48
|
this.createInputVector(trainSet.get(j));
|
|
47
49
|
let hidden = this.calculateHidden(this.x, this.W, this.activationFunction);
|
|
@@ -5,6 +5,7 @@ import {Matrix} from "nlptoolkit-math/dist/Matrix";
|
|
|
5
5
|
import {Instance} from "../Instance/Instance";
|
|
6
6
|
import {ActivationFunction} from "../Parameter/ActivationFunction";
|
|
7
7
|
import {CompositeInstance} from "../Instance/CompositeInstance";
|
|
8
|
+
import {Random} from "nlptoolkit-util/dist/Random";
|
|
8
9
|
|
|
9
10
|
export abstract class NeuralNetworkModel extends ValidatedModel{
|
|
10
11
|
|
|
@@ -34,10 +35,11 @@ export abstract class NeuralNetworkModel extends ValidatedModel{
|
|
|
34
35
|
*
|
|
35
36
|
* @param row Number of rows.
|
|
36
37
|
* @param column Number of columns.
|
|
38
|
+
* @param random Random function to set weights.
|
|
37
39
|
* @return Matrix with random weights.
|
|
38
40
|
*/
|
|
39
|
-
protected allocateLayerWeights(row: number, column: number): Matrix{
|
|
40
|
-
return new Matrix(row, column, -0.01, +0.01);
|
|
41
|
+
protected allocateLayerWeights(row: number, column: number, random: Random): Matrix{
|
|
42
|
+
return new Matrix(row, column, -0.01, +0.01, random);
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
/**
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import {Model} from "./Model";
|
|
2
2
|
import {Instance} from "../Instance/Instance";
|
|
3
3
|
import {CompositeInstance} from "../Instance/CompositeInstance";
|
|
4
|
+
import {Random} from "nlptoolkit-util/dist/Random";
|
|
4
5
|
|
|
5
6
|
export class RandomModel extends Model{
|
|
6
7
|
|
|
7
8
|
private classLabels: Array<string>
|
|
8
|
-
private
|
|
9
|
+
private random: Random
|
|
9
10
|
|
|
10
11
|
constructor(classLabels: Array<string>, seed: number) {
|
|
11
12
|
super();
|
|
12
13
|
this.classLabels = classLabels
|
|
13
|
-
this.
|
|
14
|
+
this.random = new Random(seed)
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
/**
|
|
@@ -24,11 +25,11 @@ export class RandomModel extends Model{
|
|
|
24
25
|
if ((instance instanceof CompositeInstance)) {
|
|
25
26
|
let possibleClassLabels = (<CompositeInstance> instance).getPossibleClassLabels();
|
|
26
27
|
let size = possibleClassLabels.length;
|
|
27
|
-
let index =
|
|
28
|
+
let index = this.random.nextInt(size);
|
|
28
29
|
return possibleClassLabels[index];
|
|
29
30
|
} else {
|
|
30
31
|
let size = this.classLabels.length;
|
|
31
|
-
let index =
|
|
32
|
+
let index = this.random.nextInt(size);
|
|
32
33
|
return this.classLabels[index];
|
|
33
34
|
}
|
|
34
35
|
}
|