k nearest neighbor演算法又叫knn演算法,這個演算法是機器學習裡面乙個比較經典的演算法, 總體來說knn演算法是相對比較容易理解的演算法。其中的k表示最接近自己的k個資料樣本。knn演算法和k-means演算法不同的是,k-means演算法用來聚類,用來判斷哪些東西是乙個比較相近的型別,而knn演算法是用來做歸類的,也就是說,有乙個樣本空間裡的樣本分成很幾個型別,然後,給定乙個待分類的資料,通過計算接近自己最近的k個樣本來判斷這個待分類資料屬於哪個分類。你可以簡單的理解為由那離自己最近的k個點來投票決定待分類資料歸為哪一類。wikipedia上的knn詞條中有乙個比較經典的圖如下:
從上圖中我們可以看到,圖中的有兩個型別的樣本資料,一類是藍色的正方形,另一類是紅色的三角形。而那個綠色的圓形是我們待分類的資料。
如果k=3,那麼離綠色點最近的有2個紅色三角形和1個藍色的正方形,這3個點投票,於是綠色的這個待分類點屬於紅色的三角形。
如果k=5,那麼離綠色點最近的有2個紅色三角形和3個藍色的正方形,這5個點投票,於是綠色的這個待分類點屬於藍色的正方形。
我們可以看到,機器學習的本質——是基於一種資料統計的方法!
K 臨近演算法學習總結
1演算法簡介 按照距離遞增次序排序 選取與當前點距離最小的k個點 確定前k個點所在類別的出現頻率 返回前k個點所出現頻率最高的類別作為當前點的 分類 import numpy as np import operator def createdataset 四組二維特徵 group np.array ...
機器學習實戰 k 臨近演算法(一)
工作原理 存在乙個樣本資料集合,也稱為訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將新資料的每個特徵與樣本集中資料對應的特徵進行比較,然後演算法提取樣本集中特徵最相似資料 最鄰近 的分類標籤。一般來說,我們只選擇樣本資料集中前k...
機器學習實戰 02 k臨近
採用測量不同特徵值之間的距離 優點 精度高 對異常值不敏感 無資料輸入假定。缺點 計算複雜度高 空間複雜度高。適用資料範圍 數值型和標稱型。工作原理 存在乙個樣本資料集,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將新資料...