Weka 在集群方面非常“有限”。它只有很少的聚类算法,而且非常有限。我不确定您是否可以将交互强度放入任何 Weka 聚类算法中。
您可能想看看ELKI。它拥有比 Weka 更先进的聚类算法,而且非常灵活。例如,您可以轻松定义自己的距离函数(教程)并将其用于任何基于距离的聚类算法。
选择合适的聚类算法是我们在这里无法回答的。您需要尝试一些并尝试不同的参数。您应该首先尝试回答的关键问题是:什么是对您有用的集群?
你已经开始提出其中一些问题。例如,您是否只想使用交互强度,或者是否还包括位置信息。但是由于我不知道你想要达到什么,我不能告诉你如何。
一定要看看 DBSCAN 和 OPTICS 算法(特别是 OPTICS,不要使用 Weka 中的算法。它很慢,不完整且无人维护!)。如果这对您的任务有任何意义,也许可以开始阅读他们的维基百科文章。这就是为什么我认为它们对您有帮助的原因:
- 他们不需要知道聚类的数量(与 k-means 和 EM 聚类不同)
- 他们需要一个“最小点”参数,本质上是一个“最小集群大小”;它控制结果的细粒度。增加它以获得更少和更大的集群。
- 他们可以使用任意距离或相似度函数(例如,交互强度)。对于 DBSCAN,您需要设置一个阈值来考虑显着性,对于 OPTICS,这不是必需的。
接下来,如果它们对您的用例有意义,我可能会使用 OPTICS 的交互强度数据并尝试集群的 Xi 提取。(Weka 没有 Xi 提取)。或者也许先看一下 OPTICS 图,看看你的相似性和 MinPts 参数是否真的产生了 OPTICS 所需的“谷”。DBSCAN 更快,但您需要修复距离阈值。如果您的数据集非常大,您可能希望从样本上的 OPTICS 开始,然后决定几个 epsilon 值并在具有这些值的完整数据集上运行 DBSCAN。
不过,请从这里开始阅读,看看这对您的任务是否有意义:
https://en.wikipedia.org/wiki/DBSCAN#Basic_idea