Python DBSCAN可以提供行作为输入

Python DBSCAN可以提供行作为输入,python,machine-learning,scikit-learn,dbscan,Python,Machine Learning,Scikit Learn,Dbscan,我对机器学习和python都是新手,我的目标是通过集群试验路由预测 我刚刚开始使用,并且我能够获得给定坐标数组作为过程输入的结果,例如[1,1],[2,2],[3,3],…],其中包括所有路线的所有坐标 然而,我真正想要的是为DBSCAN提供一个包含所有路由/线路的集合,而不是一个包含所有路由的所有坐标的集合。因此,我的问题是这是否可能(这有意义吗?),如果可能,我如何才能做到这一点 谢谢您的时间。为什么您认为基于密度的群集是群集路由的好选择?你会在这里使用什么密度概念 我宁愿尝试使用适当的路由

我对机器学习和python都是新手,我的目标是通过集群试验路由预测

我刚刚开始使用,并且我能够获得给定坐标数组作为过程输入的结果,例如[1,1],[2,2],[3,3],…],其中包括所有路线的所有坐标

然而,我真正想要的是为DBSCAN提供一个包含所有路由/线路的集合,而不是一个包含所有路由的所有坐标的集合。因此,我的问题是这是否可能(这有意义吗?),如果可能,我如何才能做到这一点

谢谢您的时间。

为什么您认为基于密度的群集是群集路由的好选择?你会在这里使用什么密度概念

我宁愿尝试使用适当的路由距离进行分层聚类


但是如果你有距离矩阵,你当然可以免费试用DBSCAN(在距离矩阵上计算距离要比DBSCAN昂贵得多)。

如果路线有固定长度,就说每条路线由4个支腿组成(即一条路线上有5个点)然后简单地将路线作为10维点提供,即
[[x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5],…]
。如果路线有太多分支,您可以始终确定一个公共编号,然后将它们拆分并作为多个点馈送。实际上,每条路线都由太多的点组成。关于你的建议,我们不会散播数据吗?关于10维点,是否能正确解释(例如,y轴分配偶数,x轴分配奇数)?视情况而定。您可以使用10亿个维度的数据点,对于所有较短的管线,只需重复端点,即可获得该数量的维度。当然,分割路由会丢失信息,但是我不知道您想做什么。可能重要,也可能不重要,这取决于你到底想要实现什么。分割序列是一种常见做法,例如,使用LSTM时,您必须选择一定数量的时间步长,并根据该时间步长分割较长的序列。如果你做得很好,你会损失很少的信息。我认为这是一个不错的选择,因为我读过多篇论文,都用它来预测路线。例如,此处用于船舶航线预测:最初我的直觉将我带到分层聚类,但如果数据集不包括起始坐标,我不确定如何处理它,更具体地说,参与者只在出发后很长一段时间发送他们的位置(因此我缺少树的根),他们对点进行聚类(位置、方向和速度),而不是路线。那么你想采取哪种方法呢?首先你需要确定这一点,然后是距离,然后是算法。