我的数据是我知道所有成对旅行时间(='距离')的地方,我想对这些地方进行聚类,以最大限度地减少集群内的总成对旅行时间。
- 不能使用 K-means,因为它是基于质心的,并且“距离”是提供的持续时间,由于坐标而不是计算
- DBSCAN 不能使用,因为它排除了大纲,我想将每个地方都包含在一个集群中(这个不是 100% 确定的)
奖励:Java 库将不胜感激
我的数据是我知道所有成对旅行时间(='距离')的地方,我想对这些地方进行聚类,以最大限度地减少集群内的总成对旅行时间。
奖励:Java 库将不胜感激
是的,这是一个经典的基于图的聚类问题,其中每个位置都是一个节点,并且您知道它们之间的距离。忘记可能很复杂的图和基于图的算法的概念,我直接跳到你的答案。
最著名的算法是光谱聚类。那里有很多教程,并且在包括 Java 在内的所有编程语言中都得到了很好的实现。
如果您不熟悉数学术语,我会简要解释,但不要惊慌。它们非常直观且简单。你只需要遵循一个好的教程。