机器学习实战之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函数,对矩阵扩展(平移)

第三步:验证分类器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值