K 近鄰演算法(KNN)

2021-10-20 02:32:15 字數 770 閱讀 6909

如果乙個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。

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

2)按距離遞增次序排序

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

4)統計前k個點所在的類別出現的頻率

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

pip3 install scikit-learn==0.19.1
from sklearn.neighbors import kneighborsclassifier

#1、構造資料

x = [[0], [1], [2], [3]]

y = [0, 0, 1, 1]

# 2、訓練模型

estimator = kneighborsclassifier(n_neighbors=1) #例項化估計器物件

estimator.fit(x, y) # 使用fit方法進行訓練

# 3、資料**

ret = estimator.predict([[1]])

print(ret)

k值過小:1、容易受到異常點的影響;2、容易過擬合

k值過大:1、受到樣本均衡的問題;2、容易欠擬合

1、不擅長處理不均衡的樣本

2、計算量較大。事先去除對分類作用不大的樣本。

K 近鄰演算法 KNN

knn k nearest neighbor 假設訓練集有記錄 r1 r2,rn共n條,訓練集的特徵向量及其對應的類別都是已知的,每個記錄的特徵向量為 t1 t2,tk共k個特徵,待測試的記錄為ru 1 計算ru 的特徵向量與訓練集的每條記錄 即r1 r2,rn 的特徵向量的歐式距離,選取距離最小的...

k近鄰演算法 kNN

核心思想 前k個最相似資料中出現次數最多的類別,作為新資料的類別。核心函式 計算距離函式,投票函式 coding utf 8 import random import sys from collections import counter from operator import itemgette...

K近鄰演算法 KNN

k近鄰演算法 knn 何謂k近鄰演算法,即k nearest neighbor algorithm,簡稱knn演算法,單從名字來猜想,可以簡單粗暴的認為是 k個最近的鄰居,當k 1時,演算法便成了最近鄰演算法,即尋找最近的那個鄰居。為何要找鄰居?打個比方來說,假設你來到乙個陌生的村莊,現在你要找到與...