Skip to content

Commit b3642fe

Browse files
committed
Cluster indices begin at 1 in k-means
1 parent 3df6c17 commit b3642fe

1 file changed

Lines changed: 7 additions & 9 deletions

File tree

kmeans.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,6 @@ func (c *kmeansClusterer) Learn(data [][]float64) error {
8484
c.a = make([]int, len(data))
8585
c.b = make([]int, c.number)
8686

87-
for i := 0; i < len(data); i++ {
88-
c.a[i] = -1
89-
}
90-
9187
c.counter = 0
9288
c.threshold = CHANGES_THRESHOLD
9389
c.changes = 0
@@ -200,7 +196,7 @@ func (c *kmeansClusterer) Online(observations chan []float64, done chan struct{}
200196
}
201197
}
202198

203-
c.a[i] = n
199+
c.a[i] = n + 1
204200
c.b[n]++
205201
}
206202

@@ -275,8 +271,8 @@ func (c *kmeansClusterer) initializeMeans() {
275271

276272
func (c *kmeansClusterer) run() {
277273
var (
278-
n, l int = 0, len(c.m[0])
279-
d, m float64
274+
l, k, n int = len(c.m[0]), 0, 0
275+
m, d float64
280276
)
281277

282278
for i := 0; i < c.number; i++ {
@@ -294,11 +290,13 @@ func (c *kmeansClusterer) run() {
294290
}
295291
}
296292

297-
if c.a[i] != n {
293+
k = n + 1
294+
295+
if c.a[i] != k {
298296
c.changes++
299297
}
300298

301-
c.a[i] = n
299+
c.a[i] = k
302300
c.b[n]++
303301

304302
floats.Add(c.n[n], c.d[i])

0 commit comments

Comments
 (0)