一.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...