K-近鄰算法(KNN)

kNN的英文全稱是:k nearest neighbor,直譯過來的意思就是k個最相近的鄰居。所以,kNN的算法思想,簡單而言,就是利用與待分類對象最相近的k個已知對象的特徵,來決定待分類對象的特徵。這種分類方法的思想簡單,在實際分類效果中,表現也較爲優異,是數據挖掘的分類領域中的一種入門算法。
下面以一個圖例來具體說明kNN的具體思想:
這裏寫圖片描述
圖片中有三種顏色表示的諸多實點,分別代表了三種不同的類別。中間的黑色叉號代表了待分類的對象。在對X進行分類的時候,首先需要計算X與所有已知對象之間的距離,然後選擇這些距離中最小的k個對象,最後將這k個對象中所屬類別最多的那個類,作爲X的最終分類。
從圖中可以看到,與X最相鄰的5個對象中,有4個對象屬於紅色分類,有1個對象屬於綠色分類,所以,我們將X的最終分類認定爲紅色類。
通過上述的實例的分析,對kNN算法的思想就有了更進一步的理解。接下來,我們把kNN算法的具體步驟進行一下總結:

1. 獲取數據集,對數據進行預處理,以滿足算法的格式需要

2. 分別計算待分類對象與所有數據集中的其他對象之間的距離

3. 設定k值得大小,並篩選距離最小的k個對象

4. 對k個對象進行統計,獲得在k個對象中,各類別所擁有對象的個數

5. 將對象個數最多的類別,作爲待分類對象的最終分類結果

基於上述算法的具體步驟,我們需要考慮以下若干問題:

  1. 算法的數據格式問題
  2. 對象之間的距離計算
  3. k值的選擇
  4. 算法的計算量
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章