nlptoolkit-classification 1.0.2 → 1.0.3
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/README.md +5 -0
- package/dist/InstanceList/Partition.js.map +1 -1
- package/dist/Model/DecisionTree/DecisionNode.js +8 -8
- package/dist/Model/DecisionTree/DecisionNode.js.map +1 -1
- package/package.json +7 -5
- package/source/InstanceList/Partition.ts +1 -1
- package/source/Model/DecisionTree/DecisionNode.ts +7 -6
package/README.md
CHANGED
|
@@ -43,6 +43,11 @@ Artificial neural networks (ANN) take their inspiration from the brain. The brai
|
|
|
43
43
|
|
|
44
44
|
There are three types of neurons (units) in ANN. Each unit except the input unit takes an input and calculates an output. Input units represent a single input feature x<sub>i</sub> or the bias = +1. Hidden units calculate an intermediate output from its inputs. They first combine their inputs linearly and then use nonlinear activation functions to map that linear combination to a nonlinear space. Output units calculate the output of the ANN.
|
|
45
45
|
|
|
46
|
+
Video Lectures
|
|
47
|
+
============
|
|
48
|
+
|
|
49
|
+
[<img src="https://github.com/StarlangSoftware/Classification/blob/master/video1.jpg" width="50%">](https://youtu.be/1p0zBhji0YE)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video2.jpg width="50%">](https://youtu.be/xvNGStxTEsU)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video3.jpg width="50%">](https://youtu.be/EfDoMKHl_iY)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video4.jpg width="50%">](https://youtu.be/4Y-1r0H8vZc)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video5.jpg width="50%">](https://youtu.be/1b5sEp321Lo)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video6.jpg width="50%">](https://youtu.be/_bM4RmKMo3I)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video7.jpg width="50%">](https://youtu.be/xGHskyTb35s)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video8.jpg width="50%">](https://youtu.be/ZdFUDFmOjL4)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video9.jpg width="50%">](https://youtu.be/O0W99NhiFug)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video10.jpg width="50%">](https://youtu.be/k-sTBA9HGVc)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video11.jpg width="50%">](https://youtu.be/yDlcLtVJDGk)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video12.jpg width="50%">](https://youtu.be/7qxxNzymzLI)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video13.jpg width="50%">](https://youtu.be/sVzu7UYOFXM)[<img src=https://github.com/StarlangSoftware/Classification/blob/master/video14.jpg width="50%">](https://youtu.be/OynNcw2IItg)
|
|
50
|
+
|
|
46
51
|
For Developers
|
|
47
52
|
============
|
|
48
53
|
You can also see [Java](https://github.com/starlangsoftware/Classification),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Partition.js","sourceRoot":"","sources":["../../source/InstanceList/Partition.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iDAA4C;IAC5C,uEAAkE;IAOlE,MAAa,SAAS;QAIlB,YAAY,YAA2B,EAAE,cAAuB,EAAE,iBAAuB,EAAE,MAAe;YAFlG,cAAS,GAAwB,IAAI,KAAK,EAAgB,CAAA;YAG9D,IAAI,YAAY,IAAI,SAAS,EAAC;gBAC1B,IAAI,cAAc,IAAI,SAAS,EAAC;oBAC5B,IAAI,WAAW,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC;oBACxD,KAAK,IAAI,UAAU,IAAI,WAAW,EAAC;wBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,iDAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;qBACrD;oBACD,KAAK,IAAI,QAAQ,IAAI,YAAY,CAAC,YAAY,EAAE,EAAE;wBAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;qBACzE;iBACJ;qBAAM;oBACH,IAAI,iBAAiB,IAAI,SAAS,EAAC;wBAC/B,IAAI,SAAS,GAAG,YAAY,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;wBACnE,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;4BACzB,IAAI,CAAC,GAAG,CAAC,IAAI,2BAAY,EAAE,CAAC,CAAC;yBAChC;wBACD,KAAK,IAAI,QAAQ,IAAI,YAAY,CAAC,YAAY,EAAE,EAAE;4BAC9C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAsB,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;yBACrH;qBACJ;yBAAM;wBACH,IAAI,OAAO,iBAAiB,IAAI,SAAS,EAAC;4BACtC,IAAI,CAAC,GAAG,CAAC,IAAI,2BAAY,EAAE,CAAC,CAAC;4BAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,2BAAY,EAAE,CAAC,CAAC;4BAC7B,IAAI,iBAAiB,EAAC;gCAClB,IAAI,YAAY,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;gCACpD,IAAI,MAAM,GAAG,IAAI,KAAK,CAAS,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gCACzD,IAAI,WAAW,GAAG,IAAI,KAAK,EAAU,
|
|
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", "nlptoolkit-util/dist/
|
|
7
|
+
define(["require", "exports", "./DecisionCondition", "../Model", "../../Attribute/DiscreteIndexedAttribute", "../../Attribute/DiscreteAttribute", "../../Attribute/ContinuousAttribute", "nlptoolkit-math/dist/DiscreteDistribution", "../../InstanceList/Partition", "../../Instance/CompositeInstance", "nlptoolkit-util/dist/RandomArray"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -18,7 +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
|
|
21
|
+
const RandomArray_1 = require("nlptoolkit-util/dist/RandomArray");
|
|
22
22
|
class DecisionNode {
|
|
23
23
|
/**
|
|
24
24
|
* The DecisionNode method takes {@link InstanceList} data as input, and then it sets the class label parameter by finding
|
|
@@ -63,17 +63,17 @@
|
|
|
63
63
|
if (isStump && condition != null) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
let indexList
|
|
67
|
-
for (let i = 0; i < data.get(0).attributeSize(); i++) {
|
|
68
|
-
indexList.push(i);
|
|
69
|
-
}
|
|
66
|
+
let indexList;
|
|
70
67
|
let size;
|
|
71
68
|
if (parameter != undefined && parameter.getAttributeSubsetSize() < data.get(0).attributeSize()) {
|
|
72
|
-
|
|
73
|
-
random.shuffle(indexList);
|
|
69
|
+
indexList = RandomArray_1.RandomArray.indexArray(data.get(0).attributeSize(), parameter.getSeed());
|
|
74
70
|
size = parameter.getAttributeSubsetSize();
|
|
75
71
|
}
|
|
76
72
|
else {
|
|
73
|
+
indexList = new Array();
|
|
74
|
+
for (let i = 0; i < data.get(0).attributeSize(); i++) {
|
|
75
|
+
indexList.push(i);
|
|
76
|
+
}
|
|
77
77
|
size = data.get(0).attributeSize();
|
|
78
78
|
}
|
|
79
79
|
let classDistribution = data.classDistribution();
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nlptoolkit-classification",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Classification Library",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.js",
|
|
@@ -20,11 +20,13 @@
|
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/mocha": "^9.0.0",
|
|
22
22
|
"mocha": "^9.1.3",
|
|
23
|
-
"nlptoolkit-datastructure": "^1.0.0",
|
|
24
|
-
"nlptoolkit-math": "^1.0.1",
|
|
25
|
-
"nlptoolkit-sampling": "^1.0.1",
|
|
26
|
-
"nlptoolkit-util": "^1.0.4",
|
|
27
23
|
"ts-node": "^10.4.0",
|
|
28
24
|
"typescript": "^4.5.4"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"nlptoolkit-datastructure": "^1.0.4",
|
|
28
|
+
"nlptoolkit-math": "^1.0.2",
|
|
29
|
+
"nlptoolkit-sampling": "^1.0.2",
|
|
30
|
+
"nlptoolkit-util": "^1.0.5"
|
|
29
31
|
}
|
|
30
32
|
}
|
|
@@ -36,7 +36,7 @@ export class Partition {
|
|
|
36
36
|
if (stratifiedOrValue){
|
|
37
37
|
let distribution = instanceList.classDistribution();
|
|
38
38
|
let counts = new Array<number>(distribution.size).fill(0)
|
|
39
|
-
let randomArray = new Array<number>()
|
|
39
|
+
let randomArray = new Array<number>()
|
|
40
40
|
for (let i = 0; i < instanceList.size(); i++){
|
|
41
41
|
randomArray.push(i);
|
|
42
42
|
}
|
|
@@ -10,6 +10,7 @@ import {Partition} from "../../InstanceList/Partition";
|
|
|
10
10
|
import {Instance} from "../../Instance/Instance";
|
|
11
11
|
import {CompositeInstance} from "../../Instance/CompositeInstance";
|
|
12
12
|
import {Random} from "nlptoolkit-util/dist/Random";
|
|
13
|
+
import {RandomArray} from "nlptoolkit-util/dist/RandomArray";
|
|
13
14
|
|
|
14
15
|
export class DecisionNode {
|
|
15
16
|
|
|
@@ -57,16 +58,16 @@ export class DecisionNode {
|
|
|
57
58
|
if (isStump && condition != null) {
|
|
58
59
|
return;
|
|
59
60
|
}
|
|
60
|
-
let indexList
|
|
61
|
-
for (let i = 0; i < data.get(0).attributeSize(); i++) {
|
|
62
|
-
indexList.push(i);
|
|
63
|
-
}
|
|
61
|
+
let indexList
|
|
64
62
|
let size
|
|
65
63
|
if (parameter != undefined && parameter.getAttributeSubsetSize() < data.get(0).attributeSize()) {
|
|
66
|
-
|
|
67
|
-
random.shuffle(indexList)
|
|
64
|
+
indexList = RandomArray.indexArray(data.get(0).attributeSize(), parameter.getSeed())
|
|
68
65
|
size = parameter.getAttributeSubsetSize();
|
|
69
66
|
} else {
|
|
67
|
+
indexList = new Array<number>();
|
|
68
|
+
for (let i = 0; i < data.get(0).attributeSize(); i++) {
|
|
69
|
+
indexList.push(i);
|
|
70
|
+
}
|
|
70
71
|
size = data.get(0).attributeSize();
|
|
71
72
|
}
|
|
72
73
|
let classDistribution = data.classDistribution();
|