聚類演算法

tongyuruo發表於2020-04-26

1、python使用例子(包含程式碼和演算法說明):https://www.cnblogs.com/ahu-lichang/p/7161613.html
2、剛接觸機器學習這一個月我都做了什麼?(經典的機器學習步驟,不可誤入誤區):https://www.cnblogs.com/xing901022/p/6953696.html
3、K-means演算法實現:文章介紹了k-means演算法的基本原理和scikit中封裝的kmeans庫的基本引數的含義:https://juejin.im/post/5daffd26e51d45249f6085a5#heading-0
4、聚類的例子ppt,從資料準備,特徵選取,特徵提取,到聚類的詳細講解:https://cloud.tencent.com/developer/news/146955
5、k-means例子:http://www.woshipm.com/ai/2102501.html/comment-page-1
6、k-modes的介紹:http://sofasofa.io/forum_main_post.php?postid=1000500
7、k-modes原始碼:https://github.com/nicodv/kmodes/blob/master/kmodes/kmodes.py

  1. K-Means只能用於連續資料,而不能用於分類資料
    因為K-Means演算法的核心是計算空間座標中,點與點之間的平均值,而我們知道只有連續資料可以被計算,分類資料即使使用1234來表示,也只是作一個代稱,而不可以進行數學計算。

  2. 在計算之前,需先對資料進行歸一化處理
    對資料進行歸一化處理是為了防止資料之間單位不一致,導致某些位數較大的引數擁有較高的權重,將所有的資料歸一化則可以將所有的引數權重調節成一致。當然,如果因為業務特點而需要將某些引數的權重調高或者調低,也可以根據實際情況來,畢竟演算法只是工具,真正起作用的還是使用演算法的人。

  3. K-Means演算法對資料噪聲和離群值較為敏感
    計算均值時需要所有的資料都參與,即使出現少量的離群資料,也會對均值產生極大的影響,所以在實際工作中使用演算法時,通常需要先對離群值進行資料清洗,排除離群值對最終結果的影響,然後再進行聚類計算。

相關文章