0
假設我們在一個立方體中有1000個隨機數據點(如下圖所示)。 X和Y方向上的點分佈是均勻的,但不是Z方向上的分佈。隨着我們越來越深入,數據點越來越密集。是否有任何蟒直截了當的方式來聚集這些數據點,使得:3D平面中的聚類點
- 每個集羣具有相等的尺寸
- 每個集羣由局部點,即,每個簇由點是彼此接近的。
我已經試過從Scipy軟件包進行K均值聚類,但它沒有給我一個好的結果,每個簇的點都非常普遍,而不是集中。
假設我們在一個立方體中有1000個隨機數據點(如下圖所示)。 X和Y方向上的點分佈是均勻的,但不是Z方向上的分佈。隨着我們越來越深入,數據點越來越密集。是否有任何蟒直截了當的方式來聚集這些數據點,使得:3D平面中的聚類點
我已經試過從Scipy軟件包進行K均值聚類,但它沒有給我一個好的結果,每個簇的點都非常普遍,而不是集中。
嘗試使用Scikit-學習的實現。他們使用被稱爲「K-Means ++」的技術來初始化他們的羣集,該技術可以概率性地選擇第一種方法來獲得最佳的開始分佈。這創造了一個更好的結果的可能性較高。
http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html
注:K-手段隨機初始化,你嘗試運行了好幾次,看看,如果你只是沒有運氣不好的第一次?但總的來說,如果你的數據沒有被聚集在一起,沒有算法會找到不存在的好集羣。這似乎更像是一個分箱問題... – Julien
@JulienBernu是的,我已經嘗試了幾次不同的初始化和迭代不同的迭代收斂。 –
羣集必須具有相同大小的約束非常強。看看這篇文章:http://stats.stackexchange.com/questions/40777/spatial-clustering-with-the-constraint-that-all-clusters-have-equal-count – klib