簡體   English   中英

Scikit學習kmeans聚類

[英]Scikit-learn kmeans clustering

我應該用一些數據來做kmeans集群實現。 我從http://glowingpython.blogspot.com/2012/04/k-means-clustering-with-scipy.html查看的示例在2列中顯示了他們的測試數據...但是,給出的數據是68個具有78個特征的主題(即68x78矩陣)。 我應該如何為此創建適當的輸入?

我基本上只是嘗試輸入矩陣,但是它似乎並沒有執行我想要的操作……而且我也不知道為什么會這樣做。 我對做什么很困惑。

        data = np.rot90(data)
        centroids,_ = kmeans(data,2)
        # assign each sample to a cluster
        idx,_ = vq(data,centroids)

        # some plotting using numpy's logical indexing
        plot(data[idx==0,0],data[idx==0,1],'ob',
             data[idx==1,0],data[idx==1,1],'or')
        plot(centroids[:,0],centroids[:,1],'sg',markersize=8)
        show()

老實說,我不知道該向您顯示哪種代碼。 否則,它與我鏈接的教程相同。

您的可視化僅使用前兩個維度

這就是為什么這些點看起來“不正確”的原因-它們在另一個維度上更接近。

看一下下面的兩個維度:

plot(data[idx==0,2],data[idx==0,3],'ob',
         data[idx==1,2],data[idx==1,3],'or')
    plot(centroids[:,2],centroids[:,3],'sg',markersize=8)
    show()

...對其余的其余所有78個尺寸重復...

在這么多特征下,(平方)歐幾里得距離變得毫無意義,並且k均值結果趨於變得與隨機凸分區一樣好。

為了獲得更具代表性的視圖,請考慮使用MDS將數據投影到2d中以進行可視化。 它只需要68個科目就可以相當快地工作。

請在您的問題中包括可視化。 我們沒有您的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM