我有一组相当大的(r,g,b)色数据点,其坐标为(x,y),如下所示:
在将它们提交到我的数据库之前,我想自动识别所有点簇(其中大多数看起来像线),并根据它们所属的簇为每个有色点分配一个类别。
根据scikit-learn roadmap,我应该使用均值漂移模型或高斯混合模型,但是我想知道是否有可用的解决方案,并且还要考虑到共享相似颜色的邻近点更多可能属于同一集群。
我可以使用GPU,因此欢迎使用任何解决方案,即使该解决方案基于深度学习也是如此。
我尝试了@mcdowella的答案,并且效果很好。我使用HDBSCAN鲁棒单链接实现在这些点的高维版本(它们是通过T-SNE生成的)上运行的,它近似了许多行,而没有任何参数调整。
答案 0 :(得分:1)
我会尝试https://en.wikipedia.org/wiki/Single-linkage_clustering-它趋向于遵循线条,对于那些想要紧凑紧凑的圆形集群并散布意大利面条的人来说有时甚至是不利的(https://www.stat.cmu.edu/~cshalizi/350/lectures/08/lecture-08.pdf P7上的精美图片)。