KNN算法簡介


KNN(K Nearest Neighbor)算法

一、算法思想:

假設一個樣本空間里的樣本分成幾個類型[1],然后給定一個待分類的數據,通過計算距離該數據最近的K個樣本來判斷這個待分類數據屬於哪個分類。簡單的說,就是由那些里自己最近的K個樣本點投票決定待分類數據歸為哪一類。

 

二、實例說明:

下圖中有兩種類型的樣本數據,一類是藍色的正方形,另一類是紅色的三角形,中間那個綠色的圓形是待分類數據;

clip_image002

1 KNN算法示例

如果K=3,那么離綠色點最近的有2個紅色的三角形和1個藍色的正方形,這三個點進行投票,於是綠色的待分類點就屬於紅色的三角形。

如果K=5,那么離綠色點最近的有2個紅色的三角形和3個藍色的正方形,這五個點進行投票,於是綠色的待分類點就屬於藍色的正方形。

 

三、算法描述

KNN算法的步驟可以描述為[2]

1、計算出樣本數據和待分類數據的距離;

2、為待分類數據選擇K個與其距離最小的樣本;

3、統計出K個樣本中大多數樣本所屬的分類;

4、這個分類就是待分類數據所屬的分類。

 

四、注意事項:

K應該設置為一個奇數,這樣可以保證投票的時候不會有平票。

 

參考文獻:


[1] 《K Nearest Neighbor 算法》 http://coolshell.cn/articles/8052.html

[2] 《數據挖掘之分類 (KNN算法的描述及使用)》 http://ahuaxuan.iteye.com/blog/164435


免責聲明!

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



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