机器学习实战1-KNN

1-KNN算法

function 需要4个参数 :测试vector,数据集,数据label,k
返回前k个点出现的频率,选择最高的作为分类
1.对测试vector扩维(维数与数据集个数相同),计算欧式距离
2.利用argsort进行排序
(argsort()函数是将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y)
3.取出前k个元素 将其对应标签的数量+1
字典.get(“name”,0) 0表示要是没有name这个键这创立这个键,且赋值为0
4.排序取出最大数对应的标签即可

sortedClassCount=sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)
1.iterable表示可迭代对象,包括list,str,tuple,dict,file,以及自定义
2.cmp表示自定的比较函数
3.key对比的关键词: knn算法是选择k中出现频率最高的那一个分类,所以对应classcount索引为1的数字,则通过key=operator.itemgetter(1)
4.reverse表示排列次序,true为降序排列,false为升序排列

2-约会网站配对效果

1.对数据集进行整理,可视化
2.对数据进行归一化
3.对每个测试数据进行knn计算,并计算出错误率

3-手写识别系统

1.对数据集进行整理
3232 --> 11024 :二重循环
同上

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值