標籤:機器學習 knn演算法 k近鄰演算法
一、什麼是看KNN演算法?
二、KNN演算法的一般流程
三、KNN演算法的Python代碼實現
numpy模組參考教程:http://old.sebug.net/paper/books/scipydoc/index.html
一:什麼是看KNN演算法?
kNN演算法全稱是k-最近鄰演算法(K-Nearest Neighbor)
kNN演算法的核心思想是如果一個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別,並具有這個類別上樣本的特性。該方法在確定分類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。
下邊舉例說明:
即使不知道未知電影屬於哪種類型,我們也可以通過某種方法計算出來,如
現在我們得到了樣本集中與未知電影的距離,按照距離的遞增順序,可以找到k個距離最近的電影,假定k=3,則三個最靠近的電影是和he is not realy into Dudes,Beautiful women, California man kNN演算法按照距離最近的三部電影類型決定未知電影類型,這三部都是愛情片,所以未知電影的類型也為愛情片
二:KNN演算法的一般流程
step.1---初始化距離為最大值
step.2---計算未知樣本和每個訓練樣本的距離dist
step.3---得到目前K個最臨近樣本中的最大距離maxdist
step.4---如果dist小於maxdist,則將該訓練樣本作為K-最近鄰樣本
step.5---重複步驟2、3、4,直到未知樣本和所有訓練樣本的距離都算完
step.6---統計K-最近鄰樣本中每個類標號出現的次數
step.7---選擇出現頻率最大的類標號作為未知樣本的類標號
三、KNN演算法的Python代碼實現
調用方式:開啟CMD,進入kNN.py檔案所在的目錄,輸入Python,依次輸入import kNN group,labels = kNN.createDataSet() kNN.classify0([0,0],group,lables,3)
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
機器學習——k最近鄰演算法(K-Nearest Neighbor,Python實現)