1. 程式人生 > >KNN算法

KNN算法

距離 abs 1-1 blog 分享 進行 images 三角形 算法

KNN算法的核心思想:如果一個樣本在特征空間中的k個最鄰近的樣本大多數屬於某一類別,則該樣本也屬於該類別

KNN算法的結果很大程度上取決於K的取值,下面進行說明:

技術分享

如果k=5 則上圖中的紅點屬於三角形所屬類,因為三角形所屬類占3/5,而四邊形類只占了2/5,如果k=11,則紅點屬於四邊形類,四邊形類占8/11,而三角形類占3/11

KNN中,樣本的距離一般采用歐式距離或曼哈頓距離

歐式距離d(x,y)=sqrt(∑k=1 t0 n(xk-yk)2)

曼哈頓距離d(x,y)=sqrt(∑k=1 to nabs(xk-yk))

KNN算法的描繪:

(1) 計算測試數據與訓練數據之間的距離

(2)將距離從小到大排序

(3)選取前K個樣本

(4)確定K個樣本所屬類的頻率

(5)將測試數據所屬類標記為上述頻率最高的類別

KNN算法