2017-07-24 153 views
-2

我正在嘗試使用Matlab學習k均值聚類算法。問題是我找不到任何示例數據,它會使它更容易理解算法。 但是,我在mathworks上找到了一個指定k-均值聚類的例子。但不幸的是,我無法忍受它。我試圖理解這個簡單的數據集,我在Stack-overflow上找到。瞭解K均值聚類

請,我需要一個關於k-means聚類的基本示例,如果我在任何軟件(即matlab)上實現它,我將確保我正確應用它。

最後,例如UCI上的所有數據集都太大,我無法確定我的實現是否正確。

在此先感謝。

+0

生成自己的數據有什麼問題? [這個例子](https://www.mathworks.com/help/stats/kmeans.html#buefthh-2)似乎非常有用。究竟是什麼部分kmeans你發現混淆? – beaker

回答

0

我們已經得到了一組數據,任何人都會說這些數據屬於三個集羣。我們知道集羣編號爲3,但除此之外,我們希望軟件爲我們完成集羣。

因此,從三個對象中隨機分配三個對象開始。現在通過,並將每個對象分配到最近的羣集。結果是三個集羣,但相當醜陋,因爲我們不太可能第一次觸及三個實際質心。

因此,取出您生成的每個羣集的平均值,並再次通過,將這些對象分配給新的羣集質心。重複,直到算法達到穩定。採取平均值的過程往往會迫使對集中心的猜測朝向實際中心。

但是,它只適用於數據實際上是聚集的。

0

我知道您使用的是MatLab,但R有大量數據集用於測試聚類算法,包括一些相當小的數據集。 ruspini數據集是開始的好地方。這些數據集可以從github以csv文件形式獲得,MatLab應該能夠讀取csv文件。只需在此頁面搜索單詞羣集。

0

非常經典的虹膜數據對於理解k-means是可以的。

甚至可以看到k-means的一些問題。