1. 程式人生 > >KNN演算法優缺點

KNN演算法優缺點

KNN的主要優點有:

1.理論成熟,思想簡單,既可以用來做分類又可以做迴歸

2.可以用於非線性分類

3.訓練時間複雜度比支援向量機之類的演算法低

3.和樸素貝葉斯之類的演算法比,對資料沒有假設,準確度高,對異常點不敏感

4.由於KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬的類別,因此對於類域的交叉或重疊較多的待分類樣本集來說,KNN方法較其他方法更為適合

5.該演算法比較適用於樣本容量比較大的類域的自動分類,而那些樣本容量比較小的類域採用這種演算法比較容易產生誤分類情況

KNN的主要缺點:

1.計算量大,尤其是特徵數非常多的時候

2.樣本不平衡的時候,對稀有類別的預測準確率低

3.KD樹,球樹之類的模型建立需要大量的記憶體

4.是慵懶散學習方法,基本上不學習,導致預測時速度比起邏輯迴歸之類的演算法慢

5.相比決策樹模型,KNN模型的可解釋性不強