算法步驟:
為了判斷未知實例的類別,以所有已知類別的實例作為參照
選擇參數K
計算未知實例與所有已知實例的距離
選擇最近K個已知實例
根據少數服從多數的投票法則(majority-voting),讓未知實例歸類為K個最鄰近樣本中最多數的類別
細節:
關於K
關於距離的衡量方法:
Euclidean Distance定義
其他距離衡量:余弦值(cos)、相關度(correlation)、曼哈頓距離(Manhattan distance)
算法優缺點:
優點:
簡單
易於理解
容易實現
通過對K的選擇可具備丟噪音數據的健壯性
缺點:
需要大量空間儲存所有已知實例
算法復雜度高(需要比較所有已知實例與要分類的實例)
當其樣本分布不平衡時,比如其中一類樣本過大(實例數量過多)占主導的時候,新的未知實例容易被歸類為這個主導樣本,因為這類樣本實例的數量過大,但這個新的未知實例實際並未接近目標樣本
改進版本:
考慮距離,根據距離加上權重
比如:1/d(距離)