【发布时间】:2016-12-04 16:17:30
【问题描述】:
我有一系列线数据(2-3 个连接点)。 我可以使用哪种机器学习算法将线分类为它们的位置相似性? (下图)
最好使用 Python 库,例如 SciKit-Learn。
编辑: 我试过 DBSCAN,但我遇到的问题是如果有两条线相交,有时 DBSCAN 将它们视为一组,即使它们完全不同的方向。
这是我目前找到的解决方案:
GeoPath 聚类算法
这里的想法是将彼此非常相似的地理路径聚集成组。
步骤:
1- 基于坡度的聚类线
2- 在步骤 1 的每个集群中,找到线的中心并使用 k-mean 算法将它们分成更小的组
3- 在步骤 2 的每个地理区域中,计算每条线的长度并在定义的长度阈值内对线进行分组
结果将是具有相似坡度、彼此靠近且行进距离相似的小线组。
【问题讨论】:
-
这实际上叫做聚类。但是对于这样简单的数据,你应该能够写下一个简单的启发式来做到这一点。
标签: python machine-learning scikit-learn line classification