应该使用什么聚类算法处理一维数据?
我有一个数字列表,存放在一个数组里。每个元素的位置叫做X,元素的值叫做Y。我该怎么把这些数据分组或者聚类呢?
如果我有一个数组,我只想要一组值,用来标记每个分组的结束位置。因为我在用Python,请告诉我有没有相关的库可以做到这一点。
谢谢。
1 个回答
5
K-Means是一种非常简单的聚类算法,我觉得在尝试更复杂的算法之前,先试试这个是个不错的选择。
关于K-Means算法的详细信息,可以查看这个链接:http://en.wikipedia.org/wiki/K-means_clustering。
建议好好初始化K-Means,这样效果会更好,详细信息可以参考这个链接:http://en.wikipedia.org/wiki/K-means%2B%2B。
如果你觉得K-Means不够好用,可以试试EM算法和高斯混合模型(http://en.wikipedia.org/wiki/Mixture_model),这也不难编码,而且你可以用K-Means来帮助初始化!
这些算法在Python中已经实现了很多次,可以看看任何一个机器学习工具箱。