【发布时间】:2013-09-15 06:51:52
【问题描述】:
我的数据集的格式: [x-coordinate, y-coordinate, hour] 小时为 0 到 23 之间的整数值。
我现在的问题是,当我需要一个欧几里德距离度量作为坐标时,我如何对这些数据进行聚类,但是对于小时而言,我需要一个不同的度量(因为 d(23,0) 在欧几里得距离度量中是 23)。是否可以为 scipy 中的每个特征用不同的距离度量对数据进行聚类?如何?
谢谢
【问题讨论】:
-
你想使用什么聚类技术?
-
目前我正在尝试使用 kmeans,但是任何能够产生良好结果的聚类方法都可以。
-
你有信心它会收敛吗?我会这样做的方法是使用我自己的修改来修改VQ function,并根据每次迭代的字典进行修改。我认为这样做不会太难。
-
如果不同度量的距离选择得当,它应该会收敛,目前我正在尝试重写 kmeans 算法的一部分,以便它可以处理每个特征的不同距离度量。由于我对 python 很陌生,但这可能需要一段时间。但我觉得这是唯一的解决方案。
-
添加了回复,而不是搜索聚类是什么,n发现您并不是真的只想计算一侧(x0,y0)和(x1,y1)之间的距离和时间差在另一侧的 (h0) 和 (h1) 之间,但使用一个数据结构 - 如果这就是你想要做的,我可以取消删除我的回复
标签: python numpy scipy cluster-analysis euclidean-distance