Day 7.jpg
K-NN是什么?
K最近鄰算法是一種簡單但目前最常用的分類算法呛讲,也可用于回歸禾怠。
KNN沒有參數(shù)(不對數(shù)據(jù)潛在分布規(guī)律做任何假設(shè)),基于實例(不建立明確的模型贝搁,而是通過具體的訓(xùn)練實例進行預(yù)測)吗氏,用于監(jiān)督學(xué)習(xí)中。
K-NN算法怎么工作雷逆?
當用KNN進行分類時弦讽,得到的結(jié)果是某一類(預(yù)測類別——一個離散值)。
這個方法有三個要素:一組有標簽的對象膀哲,對象間的距離往产,K值(最近鄰的個數(shù))。
進行預(yù)測
為了給沒有標簽的對象進行分類等太,需要計算這個對象和已有標簽的距離捂齐,識別出距離它最近的K個最近鄰,最近鄰所占數(shù)量最多的類別即為該對象的類別缩抡。對于真實數(shù)據(jù)的輸入變量奠宜,最常用的距離算法是歐幾里得距離。
原理圖示:
圖1:我們想要將灰點分類到淺綠瞻想、綠色压真、紅色
圖1
圖2:首先計算灰點到K個最近鄰的距離。
圖2
圖3:假設(shè)K=4蘑险,找出4個最近鄰滴肿。
圖3
圖4:查看最近鄰的類別,4個最近鄰中2淺綠1綠1紅佃迄,灰點的類別與最多的一樣泼差,所以灰點屬于淺綠贵少。
圖4
關(guān)于K的值
找到合適的K值并不容易。K值太小時噪音會對結(jié)果產(chǎn)生很大影響堆缘,K值太大時計算花費很大滔灶。K值通常由個例具體情況決定,最好嘗試運行每個可能的K值再作決定吼肥。
關(guān)于距離
歐幾里得距離的算法:
其他常用的距離算法還有:
Hamming Distance
Manhattan Distance
Minkowski Distance