1. 程式人生 > >機器學習實戰之KNN分類演算法

機器學習實戰之KNN分類演算法

示例:使用KNN改進約會網站配對效果(學習這一節把自己需要注意的和理解的記錄下來)

第零步:實現KNN演算法:
需注意:

classCount[voteIlabel] = classCount.get(voteIlabel,0)+1
#Python 字典(Dictionary) get() 函式返回指定鍵的值,如果值不在字典中返回預設值。
sortedClassCount = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True)
#Python 字典(Dictionary) items() 函式以列表返回可遍歷的(鍵, 值) 元組陣列。
#這行程式碼指按字典classCount第一個域(value),降序排列,返回值為(標籤,值)
sortedClassCount = sorted(classCount.values(),reverse=True)[0]
best=list(classCount.keys()[list(classCount.values()).index(sortedClassCount)]

因為目的是找出前k個點出現頻率最高的類別,所以根據value找出對應的key也可以

第一步:從檔案解析資料,整理為numpy陣列(最好這樣弄)

第二步:歸一化資料

需要注意np.tile(函式),類似於matlab中的repmat函式,對矩陣擴充套件(平移)

第三步:驗證分類器