K近鄰演算法

2022-07-11 09:39:08 字數 1100 閱讀 4045

1.演算法描述

簡單的說,knn演算法通過計算樣本特徵值之間的距離來進行分類。

已知一系列帶標籤的資料集,通過計算未知樣本與資料集中樣本距離,並對距離進行排序,取距離最近的k個樣本的標籤,將未知樣本歸到距離最近的k個樣本相同的標籤中。

實現步驟:(1)計算已知類別的資料集中的點到當前未知點之間的距離;

(2)按照距離公升序排序

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

(4)這k個點大多數屬於哪個類,那麼未知點也屬於這個類

這裡的距離可以為:(1)歐式距離:(x,y是兩個樣本,xi,yi是兩個樣本歸一化後的特徵值,下式是計算的是兩個樣本之間的歐式距離)

(2)曼哈頓距離:

(3)......

2.實現過程

以改進約會**匹配效果為例(資料集)

3. sklearn實現

以鳶尾花分類為例。

from sklearn import datasets

from sklearn.model_selection import train_test_split

from sklearn.neighbors import kneighborsclassifier

iris=datasets.load_iris()

x=iris.data

y=iris.target

print(iris.keys())

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3)

knn=kneighborsclassifier()

knn.fit(x_train,y_train)

acc=knn.score(x_test,y_test)

print('分類準確率為:%f'%acc)

k 近鄰演算法

此文章參考機器學習實戰一書,具體的理論知識可以參考該書。本文的初衷只是為了做乙個複習,將學過的知識加以整理,其中不免有一定的錯誤。2.k 近鄰演算法的原理介紹 k 近鄰演算法通過測量不同的特徵值之間的距離進行分類。它的工作原理如下 存在乙個樣本的資料集合,也成為訓練樣本集合。並且樣本集中的每個資料都...

K 近鄰演算法

k 近鄰演算法採用測量不同特徵值之間的距離方法進行分類。優點 精度高 對異常值不敏感 無資料輸入假定 缺點 計算複雜度高 空間複雜度高 適用資料範圍 數值型和標稱型 工作原理 存在乙個樣本資料集合,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入...

K 近鄰演算法

首先,我們將 k 近鄰演算法的基本理論 其次我們將使用python從文字檔案中匯入並解析資料 再次,討論當存在許多資料 的時,如何避免計算距離時可能碰到的一些常見錯誤 最後,利用實際的例子講解如何使用k 近鄰演算法改進約會 1.1 knn演算法 工作原理 存在乙個樣本資料集合,也稱作訓練樣本集,並且...