【发布时间】:2011-09-03 02:21:24
【问题描述】:
我有一个数组中的数字列表。每个元素的索引是 X,值是 Y。我如何对这些数据进行分区/聚类? 如果我有一个数组,我只想要一组标记每个分区结束的值。由于我正在研究 Python,请务必提及是否有库可以做同样的事情。
谢谢。
【问题讨论】:
-
数据是什么?你的应用是什么?您确定要聚类而不是分段吗?即您是否希望集群中的所有点都是连续的 X 个样本?这是您通常对时间序列执行的操作。
我有一个数组中的数字列表。每个元素的索引是 X,值是 Y。我如何对这些数据进行分区/聚类? 如果我有一个数组,我只想要一组标记每个分区结束的值。由于我正在研究 Python,请务必提及是否有库可以做同样的事情。
谢谢。
【问题讨论】:
K-Means 是一种非常简单的聚类算法,我会说在进行更复杂的事情之前先进行测试。 K-Means 算法http://en.wikipedia.org/wiki/K-means_clustering
强烈建议 http://en.wikipedia.org/wiki/K-means%2B%2B 正确初始化 K-Means。
如果您对 K-Means 不满意,那么您可以使用带有高斯混合 (http://en.wikipedia.org/wiki/Mixture_model) 的 EM 算法,代码不会太难,您可以使用 K-Means 对其进行初始化!
这些已经在 Python 中实现了 100 次,请检查任何机器学习工具箱。
【讨论】: