KNN是通過測量不同特徵值之間的距離進行分類。它的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。
優點:
① 訓練時間複雜度比支持向量機之類的算法低,僅為O(n)
② 和樸素貝葉斯之類的算法比,對數據沒有假設,準確度高,對異常點不敏感
③ KNN主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對於類域的交叉或重疊較多的待分樣本集來説,KNN方法較其他方法更為適合
缺點
① 計算複雜性高空間複雜性高
② 樣本不平衡的時候,對稀有類別的預測準確率低
③ 可解釋性差,無法給出決策樹那樣的規則。