k近鄰 KNN

KNN是經過測量對象的不一樣特徵值之間的距離進行分類。它的思路是:若是一個樣本在特徵空間中的k個最類似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別,其中K一般是不大於20的整數。算法

KNN算法中,所選擇的鄰居都是已經正確分類的對象。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。3d

對象類似性衡量

在KNN中,將經過計算各個對象之間的距離來衡量其之間的類似性。對象

(1)歐幾里得距離(歐氏距離)

(2)曼哈頓距離(城市街區距離)

(3)切比雪夫距離

(4)Jaccard類似係數與Jaccard距離

給定兩個集合A,B,Jaccard係數定義爲A與B交集的大小與A與B並集的大小的比值。當集合A,B都爲空時, 定義爲1。blog

Jaccard距離用於描述集合之間的不類似度。Jaccard 距離越大,樣本類似度越低。方法

(5)相關係數

其中, 表示協方差, 表示方差。im

(6)馬氏距離

其中, 是協方差矩陣。d3

其表示數據的協方差距離,是一種與尺度無關的度量方式。其會將樣本的各個特徵標準化,再計算樣本間的距離。數據

(7)夾角餘弦

餘弦類似度使用特徵空間兩個特徵向量夾角的餘弦值做爲衡量差別的大小。餘弦值越接近1,說明特徵向量夾角越接近0°,兩個特徵向量越類似。db

計算過程

①獲得訓練樣本及其對應類別。img

②計算某個待測樣本與各個訓練樣本之間的距離

③對距離進行升序

④考察前k個距離中,對應訓練樣本出現次數最多的爲該待測樣本的距離。

相關文章
相關標籤/搜索