在MATLAB中随机初始化集群的最佳方法

时间:2014-03-12 04:25:10

标签: matlab k-means

假设您有k个群集,并且您有一个包含n行和3列的数组。每行都是一个数据点。将每一行随机分配给集群的最佳(即矢量化)方式是什么。

奖励积分:评论代码。

2 个答案:

答案 0 :(得分:0)

你可以用整数1到k来制作一个n长度的向量:

k = 4
n = length(examples)
cluster_assignments = randi(k,1,n)

并使用索引将此n长度的集群成员资格向量与您正在使用的n个示例相匹配。

答案 1 :(得分:0)

我可以给你两个选择:

  1. 随机初始化。
  2. K-Means++
  3. 它们在我的Stack Overflow Q22342015 GitHub Repository中实施 该代码包括K-Means实现,它接受任意距离函数,如 - K-Means Algorithm with Arbitrary Distance Function MATLAB (Chebyshev Distance)

    结果:

    enter image description here