天天看點

【機器學習算法-python實作】K-means無監督學習實作分類1.背景2.代碼     3.效果圖4.下載下傳位址

        無監督學習的定義就不多說了,不懂得可以google。因為項目需要,需要進行無監督的分類學習。

        K-means裡面的K指的是将資料分成的份數,基本上用的就是算距離的方法。

        大緻的思路就是給定一個矩陣,假設K的值是2,也就是分成兩個部分,那麼我們首先确定兩個質心。一開始是找矩陣每一列的最大值max,最小值min,算出range=max-min,然後設質心就是min+range*random。之後在逐漸遞歸跟進,其實要想明白還是要跟一遍代碼,自己每一步都輸出一下看看跟自己想象的是否一樣。

(順便吐槽一下,網上好多人在寫文章的事後拿了書上的代碼就粘貼上,也不管能不能用,部落客改了一下午才改好。。。,各種bug)

用的時候直接看最後的main,dataSet是資料集輸入,我會在下載下傳位址提供給大家。

kmeans函數第一個參數是輸入矩陣、第二個是K的值,也就是分幾份。

plotBestFit是畫圖函數,需要加plot庫,而且目前隻支援二維且K=2的情況。

      裡面黑色的大點是兩個質心,怎麼樣,效果還可以吧!

【機器學習算法-python實作】K-means無監督學習實作分類1.背景2.代碼     3.效果圖4.下載下傳位址

測試的時候一定要多用一點資料才會明顯。

【機器學習算法-python實作】K-means無監督學習實作分類1.背景2.代碼     3.效果圖4.下載下傳位址

     我的github位址https://github.com/jimenbian,喜歡就點個starO(∩_∩)O哈!

/********************************

* 本文來自部落格  “李博Garvin“

******************************************/