Matlab:具有预定义总体的K-均值聚类

Matlab:具有预定义总体的K-均值聚类,matlab,statistics,machine-learning,k-means,Matlab,Statistics,Machine Learning,K Means,我试图区分两种人群。每个总体都是一个NxM矩阵,其中N在两者之间固定,M的长度可变(N=每个运行的特定列属性,M=运行编号)。我已经研究了PCA和K-means来区分这两种方法,但我对最佳实践很好奇 据我所知,在K-means中,没有初始的“校准”,其中选择的簇可以区分已知的双峰种群。它只是将距离最小化,并将数据分配给任意数量的总体。我想告诉聚类算法,我想要两个种群分开的最佳拟合。然后,我可以在未来的数据集上使用从初始聚类中得到的拟合。任何帮助、示例代码或阅读材料都将不胜感激 -这实际上取决于数

我试图区分两种人群。每个总体都是一个NxM矩阵,其中N在两者之间固定,M的长度可变(N=每个运行的特定列属性,M=运行编号)。我已经研究了PCA和K-means来区分这两种方法,但我对最佳实践很好奇

据我所知,在K-means中,没有初始的“校准”,其中选择的簇可以区分已知的双峰种群。它只是将距离最小化,并将数据分配给任意数量的总体。我想告诉聚类算法,我想要两个种群分开的最佳拟合。然后,我可以在未来的数据集上使用从初始聚类中得到的拟合。任何帮助、示例代码或阅读材料都将不胜感激


-这实际上取决于数据。但为了让你们知道,K-means确实会陷入局部极小值,所以若你们想使用它,试着从不同的随机起点运行它。PCA也可能很有用——就像任何其他光谱聚类方法一样,您对聚类过程的控制要少得多。我建议您使用具有多个随机起点的k-means和c对数据进行聚类,然后您可以使用k-NN对每个新样本进行预测和学习(我不知道它是否对您的案例有用)


检查并进行预测。

K-means和PCA通常用于无监督学习问题,即有一批数据且希望找到更简单的方法来描述数据的问题。原则上,您可以对数据运行K-means(K=2),然后评估两类数据与此算法找到的数据集群的匹配程度(注意:您可能需要多次启动)

听起来你有一个有监督的学习问题:你有一个训练数据集,它已经被分为两个类。在这种情况下,k-最近邻(如@amas所述)可能是最类似于k-均值的方法;然而,支持向量机也是一种很有吸引力的方法

我经常提到统计学习的要素:数据挖掘、推理和预测,第二版(统计学中的斯普林格系列),作者是特雷弗·黑斯蒂(Trevor Hastine)、罗伯特·蒂布什拉尼(Robert Tibshirani)和杰罗姆·弗里德曼(Jerome Friedman)