KNN最近鄰分類演算法梳理

2021-09-27 08:57:35 字數 1124 閱讀 4293

k最近鄰(knn,k-nearestneighbor)分類演算法是資料探勘分類技術中最簡單的方法之一。其指導思想是」近朱者赤,近墨者黑「,即由你的鄰居來推斷出你的類別。所謂k最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。

knn最鄰近分類演算法的實現原理:為了判斷未知樣本的類別,以所有已知類別的樣本作為參照,計算未知樣本與所有已知樣本的距離,從中選取與未知樣本距離最近的k個已知樣本,根據少數服從多數的投票法則(majority-voting),將未知樣本與k個最鄰近樣本中所屬類別佔比較多的歸為一類。

如下圖所示,如何判斷綠色圓應該屬於哪一類,是屬於紅色三角形還是屬於藍色四方形?如果k=3,由於紅色三角形所佔比例為2/3,綠色圓將被判定為屬於紅色三角形那個類,如果k=5,由於藍色四方形比例為3/5,因此綠色圓將被判定為屬於藍色四方形類。

算距離:給定待分類樣本,計算它與已分類樣本中的每個樣本的距離;

找鄰居:圈定與待分類樣本距離最近的k個已分類樣本,作為待分類樣本的近鄰;

做分類:根據這k個近鄰中的大部分樣本所屬的類別來決定待分類樣本該屬於哪個分類;

(1) k值的選取

k:臨近數,即在**目標點時取幾個臨近的點來**。

不能過小,不能過大,需交叉驗證確定k值

(2) 樣本特徵要做歸一化處理

樣本有多個引數,每乙個引數都有自己的定義域和取值範圍,他們對距離計算的影響不一樣,如取值較大的影響力會蓋過取值較小的引數。所以樣本引數必須做一些 scale 處理,最簡單的方式就是所有特徵的數值都採取歸一化處置。xne

w=x−

minm

ax−m

inx_=

xnew​=

max−

minx

−min

​(3) 需要乙個距離函式以計算兩個樣本之間的距離

通常使用的距離函式有:歐氏距離、余弦距離、漢明距離、曼哈頓距離等,一般選歐氏距離作為距離度量,但是這是只適用於連續變數。在文字分類這種非連續變數情況下,漢明距離可以用來作為度量。通常情況下,如果運用一些特殊的演算法來計算度量的話,k近鄰分類精度可顯著提高,如運用大邊緣最近鄰法或者近鄰成分分析法。

kNN 最近鄰分類器

以下都是個人對於knn的一些認識,可能有比較大的問題,望大家批評指正。knn分類器是一種消極的學習期,其並不事先建立明確的學習模型,是一種簡單的基於儲存的學習。應用範圍 主要針對簡單的分類問題。主要思想 找到與待檢測點距離最小的k個樣本點的分類情況,取最多的那類為待檢測點的分類。需要的內容 有標記的...

python最近鄰分類器KNN演算法

1.knn演算法 鄰近演算法,或者說k最近鄰 knn,k nearestneighbor 分類演算法是資料探勘分類技術中最簡單的方法之一。所謂k最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。k最近鄰 k nearest neighbor,knn 分類演算法的核心思...

4 2 最近鄰規則分類演算法(KNN 應用

1 資料集介紹 虹膜 150個例項 萼片長度,萼片寬度,花瓣長度,花瓣寬度 sepal length,sepal width,petal length and petal width 類別 iris setosa,iris versicolor,iris virginica.利用python的機器學...