How can I do constrained kmeans in Matlab?

8 ビュー (過去 30 日間)
Ninto Antony
Ninto Antony 2020 年 8 月 24 日
コメント済み: Ninto Antony 2020 年 8 月 28 日
I have an n*p matrix. I want to do normal kmeans but there is a limit such that the max number of sum of values in third column of the cluster should be 100. Can you please help
  2 件のコメント
Shubham Rawat
Shubham Rawat 2020 年 8 月 28 日
編集済み: Shubham Rawat 2020 年 8 月 28 日
Hi Ninto,
As per my understanding, you are trying to apply some condition on the cluster matrix. Could you please shed some more light on your question?
Ninto Antony
Ninto Antony 2020 年 8 月 28 日
I have 600 points with me in a matrix with three columns. The first and second columns represent the latitude and longitude of the point The third column is a number(population) for that point. I want to cluster in such a way that the sum of all the population in one cluster is in between 300 and 350. If the above condition is met I want to get the centroid of that cluster.
Can you please guide me as to how I should proceed
Your help is much appreciated

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

回答 (1 件)

Shubham Rawat
Shubham Rawat 2020 年 8 月 28 日
Hi Ninto,
As per my knowledge there is no as such function in MATLAB which can do constrained K-means clustering. In standard K-means, clustering is based upon only distances. You may have to build your own code for adding any constraints.
May be a good start would be if you:
  • Assigned population to clusters.
  • Then compute centroids of clusters.
  • Assign points to centroids such that sum of population in that is in between 300-350.
  3 件のコメント
Shubham Rawat
Shubham Rawat 2020 年 8 月 28 日
You have to build your own code like K-means from scratch. In that you have to add constraints in the clusters that sum of the popluation is in between 300-350.
Ninto Antony
Ninto Antony 2020 年 8 月 28 日
I can't even understand the code for normal kmeans. I think I would need some external help. But thanks for the solution 😊

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

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by