有许多聚类算法可用。一种流行的算法是 K-means,其中基于给定数量的集群,该算法迭代以找到对象的最佳集群。
您使用什么方法来确定 k-means 聚类中数据中的聚类数?
R 中是否有任何可用的包包含V-fold cross-validation
确定正确集群数量的方法?
另一种常用的方法是期望最大化(EM)算法,它为每个实例分配一个概率分布,表明它属于每个集群的概率。
这个算法是在 R 中实现的吗?
如果是,是否可以通过交叉验证自动选择最佳集群数量?
您是否更喜欢其他聚类方法?
有许多聚类算法可用。一种流行的算法是 K-means,其中基于给定数量的集群,该算法迭代以找到对象的最佳集群。
您使用什么方法来确定 k-means 聚类中数据中的聚类数?
R 中是否有任何可用的包包含V-fold cross-validation
确定正确集群数量的方法?
另一种常用的方法是期望最大化(EM)算法,它为每个实例分配一个概率分布,表明它属于每个集群的概率。
这个算法是在 R 中实现的吗?
如果是,是否可以通过交叉验证自动选择最佳集群数量?
您是否更喜欢其他聚类方法?
对于大型“稀疏”数据集,我会认真推荐“亲和传播”方法。与 k 均值相比,它具有优越的性能,并且本质上是确定性的。
http://www.psi.toronto.edu/affinitypropagation/ 发表在《科学》杂志上。
然而,最佳聚类算法的选择取决于所考虑的数据集。K 均值是一种教科书方法,很可能有人已经开发出更好的算法,更适合您的数据集类型/
这是 Andrew Moore 教授(CMU,Google)关于 K 均值和层次聚类的一个很好的教程。 http://www.autolab.org/tutorials/kmeans.html
上周,我为 K-Means 聚类程序编写了这样一个估计聚类数的算法。我使用了以下概述的方法:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.70.9687&rep=rep1&type=pdf
我最大的实现问题是我必须找到一个合适的集群验证索引(即错误度量)。现在是处理速度的问题,但目前的结果看起来是合理的。