机器学习实战之KNN分类算法

示例:使用KNN改进约会网站配对效果(学习这一节把自己需要注意的和理解的记录下来)

第零步:实现KNN算法:
需注意:

classCount[voteIlabel] = classCount.get(voteIlabel,0)+1
#Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值。

参考:http://www.runoob.com/python/att-dictionary-get.html

sortedClassCount = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True)
#Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。
#这行代码指按字典classCount第一个域(value),降序排列,返回值为(标签,值)

参考:https://blog.csdn.net/k19_sunshine/article/details/78582747
我改成了:

sortedClassCount = sorted(classCount.values(),reverse=True)[0]
best=list(classCount.keys()[list(classCount.values()).index(sortedClassCount)]

因为目的是找出前k个点出现频率最高的类别,所以根据value找出对应的key也可以

第一步:从文件解析数据,整理为numpy数组(最好这样弄)

第二步:归一化数据

需要注意np.tile(函数),类似于matlab中的repmat函数,对矩阵扩展(平移)

第三步:验证分类器

你可能感兴趣的:(机器学习,python)