【发布时间】:2014-04-16 00:38:04
【问题描述】:
假设您有 k 个集群,并且您有一个包含 n 行和 3 列的数组。每行都是一个数据点。将每一行随机分配给集群的最佳(即矢量化)方法是什么。
加分:注释代码。
【问题讨论】:
-
首先,我们不会为你写代码。
-
@Parag 感谢您的帮助。
假设您有 k 个集群,并且您有一个包含 n 行和 3 列的数组。每行都是一个数据点。将每一行随机分配给集群的最佳(即矢量化)方法是什么。
加分:注释代码。
【问题讨论】:
我可以给你两个选择:
它们在我的Stack Overflow Q22342015 GitHub Repository中实现。
该代码包括接受任意距离函数的 K-Means 实现,如 - K-Means Algorithm with Arbitrary Distance Function MATLAB (Chebyshev Distance)。
结果:
【讨论】:
你可以用整数 1 到 k 创建一个长度为 n 的向量:
k = 4
n = length(examples)
cluster_assignments = randi(k,1,n)
并使用索引将这个 n 长度的集群成员向量与您正在使用的 n 个示例进行匹配。
【讨论】: