機器學習 k 近鄰演算法

2021-07-28 20:06:45 字數 952 閱讀 5666

一.k-近鄰演算法概述:

簡單地說,k-近鄰演算法採用測量不同特徵值之間的距離方法進行分類。

k-近鄰演算法(knn),它的工作原理是:存在乙個樣本資料集,也稱訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將資料的每個特徵與樣本集合中資料對應的特徵進行比較,然後演算法提取樣本集中特徵最相似資料(最近鄰)的分類標籤。一般來說,我們只選擇樣本資料集前k個最相似的資料,這就是k-近鄰演算法中k的出處,通常k是不大於20的整數。最後,選擇k個最相似資料中出現次數最多的資料,作為新資料的分類。

二,knn的優缺點:

優點:精度高,對異常值不敏感,無資料輸入假定

缺點:計算複雜度高,空間複雜度高,無法給出任何資料的基礎結構資訊

適應資料範圍:數值型和標稱型

三.knn的偽**:

對未知類別屬性的資料集中的每個點依次執行一下操作:

(1)計算已知類別資料集中的點與當前點之間的距離

(2)按照距離遞增次序排序

(3)選取與當前點距離最小的k個點

(4)確定前k個點所在類別的出現頻率

(5)返回前k個點出現頻率最高的類別作為當前點的**分類

四.利用到的一些公式

計算已知類別資料集中的點與當前點之間的距離就有以下幾種方式:

1.歐式距離公式

比如計算a(x1,y1)和b(x2,y2)這兩個點的距離

2.曼哈頓距離

注意:如果不同特徵的資料數量級別差別比較大,會導致,數量級別大的那個特徵所佔的權重比較重,這時我們可以歸一化處理:

newvalue = (oldvalue - min) / (max - min)

機器學習 K近鄰演算法

用例一 from sklearn.neighbors import nearestneighbors import numpy as np x np.array 1,1 2,1 3,2 1,1 2,1 3,2 nbrs nearestneighbors n neighbors 2,algorithm...

機器學習 K近鄰演算法

工作原理 存在乙個訓練樣本資料集合,每組資料對應乙個標籤及分類 比如下邊例子為前兩個資料都為a類 輸入測試樣本後通過計算求出測試樣本與訓練樣本的歐氏距離d,取前k個最小的值,這k組資料對應的標籤分類最多的那種,就是測試樣本的標籤。訓練樣本資料 1.0,1.1 1.0,1.0 0,0 0,0.1 歐氏...

機器學習 k 近鄰演算法

演算法之k 近鄰演算法 knn 計算公式 又叫歐式距離 計算a,b兩點的距離 注意 k 近鄰演算法是需要做標準化處理 sklearn k 近鄰演算法api sklearn.neighbors.kneighborsclassifier n neighbors 5,algorithm auto algo...