适用于1维或2维数据的聚类方法

时间:2012-05-14 20:19:34

标签: algorithm cluster-analysis

我有一组我生成的数据,包括提取质量(好,m / z但不那么重要)的值和时间。我从文件中提取数据,但是,可以进行重复测量,这会导致数据集中的大量冗余。我正在寻找一种方法来聚类这些方法,以便根据质量单独的相似性或质量和时间的相似性对相关的那些进行分组。

应该组合在一起的数据示例是:

m / z时间

337.65 1524.6

337.65 1524.6

337.65 1604.3

但是,我无法确定我将拥有多少个群集。有没有人知道有效的方法来实现这一点,可能使用简单的距离度量?我遗憾地不熟悉聚类算法。

3 个答案:

答案 0 :(得分:2)

http://en.wikipedia.org/wiki/Cluster_analysis

http://en.wikipedia.org/wiki/DBSCAN

阅读有关分层聚类的部分,如果您真的不想提前指定多少个聚类,请查看DBSCAN。您需要定义距离度量,然后在该步骤中确定要聚合的功能或功能组合。

答案 1 :(得分:1)

为什么不设置阈值?

如果连续值(按时间)相差至少+-0.1(按m / s),则它们组合在一起。或者,使用相对阈值:相差小于+- .1%。根据您的领域知识设置这些阈值。

这听起来像是向我预处理这些数据的简单方法。

在这里使用“聚类”算法似乎对我来说太过分了。聚类算法将尝试发现比您在此处尝试的更复杂的结构。结果可能会令人惊讶且难以控制。简单的变更阈值方法(我不会调用群集!)非常简单,无法解释,理解和控制。

答案 2 :(得分:0)

对于简单的一维K-means聚类(http://en.wikipedia.org/wiki/K-means_clustering#Standard_algorithm)是合适的,可以直接使用。唯一的问题是选择合适的K.选择一个好的K的最好方法是绘制K与剩余方差,并选择“显着”减少方差的K.另一种策略是使用一些信息标准(例如贝叶斯信息标准)。

您可以轻松地将K-Means扩展为多维数据。但是你应该注意缩放各个尺寸。例如。在项目(1KG,1KM)(2KG,2KM)中,最接近(1.7KG,1.4KM)的点是(2KG,2KM)这些秤。但是一旦你以米为单位开始表达第二项,可能替代方案是正确的。