KNN & NaiveBayes 分類算法

KNN

介紹:

KNN算法屬於分類算法裏比較簡單而且思路明瞭的一種算法,所以這裏就簡單介紹一下它的主要思想及實現步驟:

KNN算法全名爲k-Nearest Neighbor,就是K最近鄰的意思。KNN也是一種分類算法。但是與之前說的決策樹分類算法相比,這個算法算是最簡單的一個了。算法的主要過程爲:
1、給定一個訓練集數據,每個訓練集數據都是已經分好類的。
2、設定一個初始的測試數據a,計算a到訓練集所有數據的歐幾里得距離,並排序。
3、選出訓練集中離a距離最近的K個訓練集數據。
4、比較k個訓練集數據,選出裏面出現最多的分類類型,此分類類型即爲最終測試數據a的分類。

問題:

1、k值設定爲多大?
k太小,分類結果易受噪聲點影響;k太大,近鄰中又可能包含太多的其它類別的點。(對距離加權,可以降低k值設定的影響)
k值通常是採用交叉檢驗來確定(以k=1爲基準)
經驗規則:k一般低於訓練樣本數的平方根

2、類別如何判定最合適?
投票法沒有考慮近鄰的距離的遠近,距離更近的近鄰也許更應該決定最終的分類,所以加權投票法更恰當一些。

3、如何選擇合適的距離衡量?
高維度對距離衡量的影響:衆所周知當變量數越多,歐式距離的區分能力就越差。
變量值域對距離的影響:值域越大的變量常常會在距離計算中佔據主導作用,因此應先對變量進行標準化。


NaiveBayes

介紹:

偷懶中。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章