在不知道 k 的情况下,哪种聚类算法适用于一维 Lists?
Posted
技术标签:
【中文标题】在不知道 k 的情况下,哪种聚类算法适用于一维 Lists?【英文标题】:Which clustering algorithm is suitable for one-dimensional Lists without knowing k? 【发布时间】:2013-12-12 09:17:10 【问题描述】:我有一个像这样的一维列表
public class Zeit_und_Eigenschaft
[Feature]
public double Sekunden get; set;
//...
List<Zeit_und_Eigenschaft> lzue = new List<Zeit_und_Eigenschaft>();
//fill lzue
lzue可以
lzue.Sekunden
1
2
3
4
8
9
10
22
55
...
目标是在该列表中找到集群,即可以形成像 f.i. 这样的组的元素。在这个例子中
lzue.Sekunden
1
2
3
4
8
9
10
22
55
哪种聚类算法合适(不知道聚类个数k)? GMM?主成分分析?克米恩斯?其他?
【问题讨论】:
partitioning an float array into similar segments (clustering) 的可能重复项 【参考方案1】:不要寻找聚类算法。
聚类是多变量数据的一个很好的术语,但是您的数据是一维的,因此您应该查看更古老的统计文献。例如。自然休息优化。
或者只是核密度估计。事实上,你会在 *** 上发现同样的问题几十次...
1D Number Array Clustering
Cluster one-dimensional data optimally?
partitioning an float array into similar segments (clustering)
Efficiently grouping similar numbers together
Clustering values by their proximity in python (machine learning?)
【讨论】:
【参考方案2】:几个月前,MSDN 杂志上有一篇关于这个主题的好文章。他们使用了 k-means 算法。链接:
http://msdn.microsoft.com/en-us/magazine/jj891054.aspx
此外,作为 Andrew Ng 的在线机器学习课程的一部分,还有一些关于 k-means 聚类的视频。链接:
https://class.coursera.org/ml-003/lecture/preview
当你不知道 k 时,有一些算法可以搜索一个好的值。对 k-means + 肘进行网络搜索。
【讨论】:
以上是关于在不知道 k 的情况下,哪种聚类算法适用于一维 Lists?的主要内容,如果未能解决你的问题,请参考以下文章