我发现了许多javascript在线k-means聚类的例子,但所有这些都是针对2维的。
如果我有56个维度(例如),我该如何进行聚类?
加分问题:
是否有可能通过一些新数据预测某些值看群集(例如,76%属于群集x,因此值应为y)
答案 0 :(得分:2)
k-means算法应该易于移植到任意数量的维度。它看起来像这样:
在2d中,您检查2. (x1, x2)
和(y1, y2)
之间的距离,如此(x1-x2)^2 + (y1-y2)^2
(如果您仅使用距离,则无需使用平方根将它与另一个距离进行比较)。在56个维度中,您只有56个组件。
在2d中,您可以通过获取所有点来计算集群中心。获取所有点的第一个维度并取平均值avg1
,将所有第二维avg2
最多为56,新的群集中心将为(avg1, avg2, avg3 ... avg56)
。
不容易的是,它非常昂贵。查看与PCA类似的降维(特征提取)算法。
还要确保所有的风险都正常化。例如 - 它们的范围介于(-100, 100)
之间。
如果您需要更多信息,请查看coursera处的机器学习课程。 第8周是关于聚类及其陷阱的。