KNN分類算法補充

KNN補充:算法

一、K值設定爲多大?性能

k過小,分類結果易受噪聲點影響;k太大,近鄰中又可能包含太多的其它類別的點。學習

(對距離加權,能夠下降k值設定的影響)測試

k值一般是採用交叉檢驗來肯定(以k=1爲基準)spa

經驗規則:k通常低於訓練樣本數的平方根效率

 

二、類別如何斷定最合適?變量

加權投票法更恰當一些。而具體如何加權,須要根據具體的業務和數據特性來探索方法

 

三、如何選擇合適的距離衡量?經驗

高維度對距離衡量的影響:衆所周知當變量數越多,歐式距離的區分能力就越差。數據

變量值域對距離的影響:值域越大的變量經常會在距離計算中佔據主導做用,所以應先對變量進行標準化。

 

四、訓練樣本是否要一視同仁?

在訓練集中,有些樣本多是更值得依賴的。

也能夠說是樣本數據質量的問題

能夠給不一樣的樣本施加不一樣的權重,增強依賴樣本的權重,下降不可信賴樣本的影響

 

五、性能問題?

KNN是一種懶惰算法,平時很差好學習,考試(對測試樣本分類)時才臨陣磨槍(臨時去找k個近鄰)。

懶惰的後果:構造模型很簡單,但在對測試樣本分類的系統開銷大,由於要掃描所有訓練樣本並計算距離。

已經有一些方法提升計算的效率,例如壓縮訓練樣本量等。

相關文章
相關標籤/搜索