【问题标题】:Best Way to Randomly Initialize Clusters in MATLAB在 MATLAB 中随机初始化集群的最佳方法
【发布时间】:2014-04-16 00:38:04
【问题描述】:

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

加分:注释代码。

【问题讨论】:

  • 首先,我们不会为你写代码。
  • @Parag 感谢您的帮助。

标签: matlab k-means


【解决方案1】:

我可以给你两个选择:

  1. 随机初始化。
  2. K-Means++

它们在我的Stack Overflow Q22342015 GitHub Repository中实现。
该代码包括接受任意距离函数的 K-Means 实现,如 - K-Means Algorithm with Arbitrary Distance Function MATLAB (Chebyshev Distance)

结果:

【讨论】:

    【解决方案2】:

    你可以用整数 1 到 k 创建一个长度为 n 的向量:

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

    并使用索引将这个 n 长度的集群成员向量与您正在使用的 n 个示例进行匹配。

    【讨论】:

      猜你喜欢
      • 2018-03-09
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      • 2015-07-16
      • 2015-12-02
      • 2011-08-23
      相关资源
      最近更新 更多