clustring with the same number of point inside each cluster

6 ビュー (過去 30 日間)
Mehdi Foumani
Mehdi Foumani 2020 年 1 月 2 日
コメント済み: David Morales 2022 年 10 月 3 日
I have x and y coordinate of a set of points resulting in matrix X. As I know, idx = kmeans(X,k) is designed in a way that I can fix the number of clusters to k. However, I want to fix an additional parameter too. I want to fix the number of points inside each cluster too.
Let me give a simple example. Assume we have 99 points (and thier x and y coordinate in matrix X). Also, we know that there should be 11 clusters (that is k) and each one of clusters should contains 9 points inside. Do you have any ideas how I can force MATLAB to put exactly 9 points inside each cluster? It would be nice if it can be also shown as plot or gscatter. Thanks
  2 件のコメント
KSSV
KSSV 2020 年 1 月 2 日
Share the data....can give a try.
Mehdi Foumani
Mehdi Foumani 2020 年 1 月 2 日
For example, assume the following code. Is it possible to have 11 clusters there (each with exactly 9 points inside)?
n=99;
x = randi([0 1000],n,1);
y = randi([0 1000],n,1);
all_xy=[x,y];
[idx,C] = kmeans(all_xy,11);
[~,idx] = pdist2(C,all_xy,'euclidean','Smallest',1);
gscatter(all_xy(:,1),all_xy(:,2),idx)
for i=1:n
text(all_xy(i,1),all_xy(i,2),num2str(idx(i)));hold on;
end

サインインしてコメントする。

回答 (1 件)

Abhishek Kumar
Abhishek Kumar 2020 年 9 月 1 日
編集済み: Abhishek Kumar 2020 年 9 月 18 日
Dear User,
As per my understanding you are able to use the k-means function in MATLAB, but you seek a functionality to fix number of points in each cluster as well. I would like to inform that such a functionality is not available right now with k-means functions. We, have recorded your issue and such a functionality might be available in upcoming releases.
  1 件のコメント
David Morales
David Morales 2022 年 10 月 3 日
I hope it gets implemented soon :D

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeStatistics and Machine Learning Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by