機器學習-K-means聚類及算法實現(基於R語言)


K-means聚類

將n個觀測點,按一定標准(數據點的相似度),划歸到k個聚類(用戶划分、產品類別划分等)中。

重要概念:質心

K-means聚類要求的變量是數值變量,方便計算距離。

 

算法實現

 

R語言實現

 k-means算法是將數值轉換為距離,然后測量距離遠近進行聚類的。不歸一化的會使得距離非常遠。

補充:scale歸一化處理的意義

兩個變量之間數值差別太大,比如年齡與收入的數值差別就很大。

步驟

第一步,確定聚類數量,即k的值

方法:肘部法則+實際業務需求

第二步,運行K-means模型

求出分組變量 kmeans_cluster$cluster,做為一個新增變量賦值給原數據survey.sample.data,最終以它作為輸出圖像的分組基礎。

第三步,總結聚類模型結果

 k-means聚類的優劣

計算快,可解釋性強,能夠處理多種數據類型。

重要缺點有二:

1.均值聚類只對圓形或者橢圓形的散點分布形狀敏感。如果一些散點圖緊緊地形成了月牙形或者圓環形等不規則的聚類形狀,K均值聚類就會犯錯誤。

2.均值聚類要求每個類別中的散點圖數量都差不多。如果有一個部分點單獨聚成一類,k均值聚類會把它們打散並和其他類合並。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM