k近鄰演算法(knn)與k means演算法的對比

2022-04-22 15:43:24 字數 560 閱讀 6430

k近鄰演算法(knn)是一種基本的分類與回歸的演算法,k-means是一種基本的聚類方法。

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

影響因素:

k值的選擇。k的值小,則近似誤差小,估計誤差大;k的值大,則近似誤差大,估計誤差小。(近似誤差即演算法在訓練集上的誤差,估計誤差即演算法在測試集上的誤差。近似誤差小,會出現過擬合的現象,即模型在訓練集上**誤差小,在未知的測試集上則表現差,此時模型並非最優模型;估計誤差小,則模型在未知的測試集上的誤差小,模型接近於最優模型);

距離的計算。距離計算的是樣本在特徵空間的鄰近程度,通常用歐式距離或者曼哈頓距離;

分類決策規則。往往採用多數表決。

k-means演算法的基本步驟如下:

隨機選擇k個樣本作為初始化的中心點;

分別計算其它樣本到這k個中心點的距離,並分別將這些樣本劃分給距離最近的那個中心;

重新計算k類樣本的均值,得到新的k個中心點;

重複步驟2和3,直到樣本到中心點的距離不再改變,或者迭代達到一定次數為止。

reference:

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時,演算法便成了最近鄰演算法,即尋找最近的那個鄰居。為何要找鄰居?打個比方來說,假設你來到乙個陌生的村莊,現在你要找到與...