classify0(待判定的樣本向量, 數據集矩陣, 標籤向量, k值(選前k個))
sqDiffMat.sum(axis=1) 表示同一行累加(axis=0表示同一列累加)
pycharm->Ctrl+A(全選)->Ctrl+Alt+L(格式化代碼)
shell中 導入模塊 import kNN
from imp import * ————> reload(kNN)
不同k值,綠色點的分類不同
創建kNN:
準備數據:
- 從文本文件中解析數據
returnMat,classLabelVector - 分析數據:使用Matplotlib創建散點圖
- 歸一化數值
歸一化到[0,1]或者[-1,1]區間
測試算法:
評估算法的正確率,如將數據的90%作爲訓練樣本來訓練分類器,其餘10%去測試分類器,檢測分類器的正確率。(或交叉驗證法)
示例:手寫識別系統(美國郵件分揀系統)