Skip to content

Commit f618769

Browse files
committed
centroid test
1 parent e5c7755 commit f618769

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

test/stats.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,38 @@ const data1 = require("./data/well-separated.js");
33
const data2 = require("./data/random_pts.js");
44
const MAX = 1000;
55

6+
function testCentroids(ks) {
7+
ks.forEach(k=>{
8+
k.forEach(v=>{
9+
if(v==0) {
10+
console.error(`Centroid on 0 ${k}`);
11+
process.exit(1);
12+
}
13+
})
14+
})
15+
}
16+
617
console.log("Simple data (k=3)");
718
var its = 0;
819
for(var i=0;i<MAX;i++) {
920
var res = skmeans(data1,3);
21+
testCentroids(res.centroids);
1022
its += res.it;
1123
}
1224
console.log("skmeans default\t\t=>",its/MAX);
1325

1426
var its = 0;
1527
for(var i=0;i<MAX;i++) {
1628
var res = skmeans(data1,3,"kmrand");
29+
testCentroids(res.centroids);
1730
its += res.it;
1831
}
1932
console.log("skmeans kmrand\t\t=>",its/MAX);
2033

2134
var its = 0;
2235
for(var i=0;i<MAX;i++) {
2336
var res = skmeans(data1,3,"kmpp");
37+
testCentroids(res.centroids);
2438
its += res.it;
2539
}
2640
console.log("skmeans kmpp\t\t=>",its/MAX);
@@ -29,20 +43,23 @@ console.log("Complex data (k=16)");
2943
var its = 0;
3044
for(var i=0;i<MAX;i++) {
3145
var res = skmeans(data2,16);
46+
testCentroids(res.centroids);
3247
its += res.it;
3348
}
3449
console.log("skmeans default\t\t=>",its/MAX);
3550

3651
var its = 0;
3752
for(var i=0;i<MAX;i++) {
3853
var res = skmeans(data2,16,"kmrand");
54+
testCentroids(res.centroids);
3955
its += res.it;
4056
}
4157
console.log("skmeans kmrand\t\t=>",its/MAX);
4258

4359
var its = 0;
4460
for(var i=0;i<MAX;i++) {
4561
var res = skmeans(data2,16,"kmpp");
62+
testCentroids(res.centroids);
4663
its += res.it;
4764
}
4865
console.log("skmeans kmpp\t\t=>",its/MAX);

0 commit comments

Comments
 (0)