機器學習——k最近鄰演算法(K-Nearest Neighbor,Python實現)

來源:互聯網
上載者:User

標籤:機器學習   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實現)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.