KNN演算法原理通俗理解

2021-09-24 09:43:52 字數 924 閱讀 8533

1、什麼是knn演算法?

knn全稱是k-nearest neighbors,意思是k個最近的鄰居。

knn演算法從名字上我們就可以很直觀地看出它的原理:從所有的訓練樣本中找出和未知最近的k個樣本,將k個樣本**現最多的類別就是賦給未知樣本。

舉個例子,大家都知道農場裡的鷹的故事,鷹從小就在農場裡長大,不知道自己是什麼種類,如果在它生活的環境裡恰好有雞也有鷹,那麼它會認為自己是鷹還是雞呢?

放張圖:

假設綠色的圓是農場裡的鷹,藍色正方形是附近的老鷹,紅色三角形是農場裡的雞,農場裡的鷹會認為自己是鷹還是雞,取決於它自己心裡的「k」,如果k是3,那麼它會認為自己是雞,如果k是5那麼它會認為自己是鷹。

可見環境的影響是多麼重要,而且我們也應該開闊自己的視野,讓自己成為乙隻老鷹而不是農場裡的乙隻雞。

2、knn演算法能做什麼?

通過上述的例子,我們可以看出knn演算法可以用來進行分類。其實knn 演算法不僅僅可以用來進行分類,還可以用進行匹配,比如說進行匹配等等。

3、如何實現knn演算法?

knn演算法的實現就是取決於,未知樣本和訓練樣本的「距離」。那麼如何求出兩個樣本之間的「距離呢?

我們計算「距離」可以利用歐式距離演算法:

歐式距離演算法可以算出n維向量之間的距離。

那麼我們怎麼利用歐式距離演算法求出兩個樣本之間的距離?

把兩個樣本裡的n個屬性都用數字描述,然後用歐式距離演算法求出n個屬性之間的距離。

舉個例子實現利用knn實現電影分類:

KNN演算法原理

knn演算法的計算過程 knn演算法的優點和缺點 k最近鄰 k nearest neighbor,knn 演算法核心思想是如果乙個樣本在特徵空間中的k個最臨近的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。k通常是不大於20的整數。三要素為 k值的選取,距離度量的方式和分類決策規則。對於k值...

KNN演算法原理

k nearestneighbor,翻譯為k最近鄰演算法,是資料探勘演算法中最簡單的一種演算法。我們先用乙個例子體會下。我們很容易知道,這些電影的型別,那麼當有一部新電影出現的時候,可不可以對其進行自動分類了?我們可以把打鬥次數看成 x 軸,接吻次數看成 y 軸,然後在二維的座標軸上,對這幾部電影進...

knn演算法原理

import pandas as pd import numpy as np def distance v1,v2 自實現距離計算 param v1 點v1 param v2 點v2 return 距離 法一 ndim len v1 summary 0 for i in range ndim sum...