Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

kmeans works with some values of k and not works with other

1 Ansicht (letzte 30 Tage)
huda nawaf
huda nawaf am 11 Dez. 2014
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
hi,
*I used kmeans(f1, 2) where f1 is square binary matrix, it is work with k=2 but when set k to 3, i got this error I do not why
error using ==>kmeans>batchUpdate at 417 empty cluster created at iteration 1.
thanks*

Antworten (2)

Adam
Adam am 11 Dez. 2014
Bearbeitet: Adam am 12 Dez. 2014
Surely in a binary matrix it wouldn't make any sense to have more than 2 clusters? You have a cluster of 0s and a cluster of 1s. How can you possibly split into 3 clusters in a mathematically meaningful way?
  2 Kommentare
huda nawaf
huda nawaf am 12 Dez. 2014
I thought the kmeans do as Neuman did in same binary matrix.

Peter Perkins
Peter Perkins am 12 Dez. 2014
If f1 is a binary matrix, then it certainly does make sense to cluster your data into more than two clusters. Each column of f1 is treated as an N-D binary vector, and (if n were 3, for example), one cluster might be [0;0;1], another [0;1;0], and the third [1;0;0]. This isn't very interesting in 3D, but in higher dimensions. it might well be.
HOWEVER.
You are clustering binary data using (squared) Euclidean distance. There are other choices for the distance function that are likely more appropriate, read the doc.
The empty cluster error is simply because (apparently) your data do NOT contain more than two clusters and KMEANS is having trouble figuring out what to put in a third one. There is a parameter to KMEANS that controls how to handle this, again, read the doc.
Hope this helps.
  1 Kommentar
huda nawaf
huda nawaf am 12 Dez. 2014
thanks I will describe my data it is squared matrix each row represents the relation between one user and others ,where 1 represent there is a relation and o otherwise.
In Neuman algorithm for clustering, these data are clustered into three clusters. Maybe because I have no experience with kmeans I thought it will give me three clusters.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by