3

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

应组合在一起的数据示例如下:

m/z 时间

337.65 1524.6

337.65 1524.6

337.65 1604.3

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

4

3 回答 3

2

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

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

如果您真的不想提前指定多少个集群,请阅读有关层次聚类的部分并查看 DBSCAN。您将需要定义一个距离度量,并在该步骤中确定您将在哪些特征或特征组合上进行聚类。

于 2012-05-14T20:33:54.633 回答
1

你为什么不设置一个门槛?

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

这听起来像是对我来说预处理这些数据的直接方法。

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

于 2012-05-15T05:23:35.390 回答
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)。但是,一旦您开始以米为单位表达第二项,则可能另一种选择是正确的。

于 2012-05-14T20:29:21.527 回答