use*_*024 5 python classification machine-learning line scikit-learn
我有一系列的线数据(2-3个连接点)。我能用来将线分类到它们的位置相似性的最佳机器学习算法是什么?(下图)
最好是python库,例如SciKit-Learn。

编辑: 我已经尝试过DBSCAN,但是我面临的问题是,如果有两条线彼此相交,即使它们完全朝着不同的方向,有时DBSCAN也会将它们视为一组。
这是我到目前为止找到的解决方案:
GeoPath聚类算法
这里的想法是将彼此非常相似的地理路径归为一组。
脚步:
1-基于斜率的聚类线
2-在第1步的每个聚类中,找到线的中心,并使用k-mean算法将它们聚成较小的组
3-在步骤2的每个地理组中,计算在定义的长度阈值内的每条线和每组线的长度
结果将是几组具有相似斜率,彼此靠近且具有相似行进距离的线。
您试图解决的问题称为聚类问题。有关 sklearn 中聚类算法的概述,请参阅http://scikit-learn.org/stable/modules/clustering.html#clustering。
编辑 2:当我第一次看到你的帖子时,我想到的是 KMeans,但根据评论的反馈,它看起来不太合适。您可能想尝试 sklearn 的DBSCAN。
您可以添加的潜在转换或额外功能是将直线拟合到每组点,然后使用(斜率,截距)对。您可能还想使用每条线的质心。