《机器学习实战》学习笔记---KNN
来源:互联网 发布:fft c语言代码 编辑:程序博客网 时间:2024/06/14 09:31
- KNN算法的优缺点:
(1)精度高,对异常值不敏感
(2)计算法复杂度高,空间复杂度高,无法给出任何数据的基础结构信息
(3)适用于数值型和标称型数据 - 工作原理:
(1)已知:每组数据与其对应的类别标签
(2)计算待分类数据与每组已知数据间的欧式距离
(3)将得到的距离排序
(4)选出k组距离最近的对应的已知数据
(5)统计筛选出的已知数据类别标签,将类别标签最多者作为预测数据标签 Python实现步骤:
(1)获取已知数据特征data和类别标签label
(2)选取部分已知数据作为测试数据集TestData和类别标签TestLabel,剩余部分存入data和label
(3)计算每组测试数据集与data列表中每组数据间的欧式距离,注意个数据间的量级应相同,若不同,则进行归一化。通过构造calDis(vector,data)函数来计算vector与data中每行间的距离distance
(4)对每一组测试数据,将计算得到的距离排序:argIndex=distance.argsort()
(5)获取前k个距离最小的类别标签:for j in range(k): labelIndex[j]=TrainLabel[argIndex[j]]
(6)统计每个类别标签出现的次数,将出现次数最多的类别标签作为分类结果:
sortedClassCount = sorted(labelIndex.iteritems(), key=operator.itemgetter(1), reverse=True)
(7)与已知对应测试数据的类别标签比较,计算算法错误率:
if sortedClassCount[0][1] != TestLabel[i]: errCount += 1
(8)若错误率在允许的范围内,则算法合理,可实际应用。
参考:
1、《Machine Learning in Action》 译名:《机器学习实战》 作者:Peter Harrington 译者:李锐 李鹏 曲亚东 王斌
出版社:人民邮电出版社
0 0
- 机器学习实战笔记:KNN
- 机器学习实战笔记--kNN
- 机器学习实战-kNN笔记
- 机器学习实战学习笔记-KNN算法
- 《机器学习实战》学习笔记---KNN
- 《机器学习实战》--KNN
- 【机器学习实战】KNN
- 机器学习实战--KNN
- 机器学习实战-kNN
- 机器学习实战-KNN
- 机器学习实战---kNN
- 机器学习实战-KNN
- 机器学习实战---KNN
- 机器学习实战-KNN
- 机器学习实战KNN
- [机器学习实战]kNN
- 机器学习实战--KNN 算法 笔记
- 《机器学习实战》之kNN-笔记1
- if-else语句省略{}时不可以定义变量,否则报错
- cocos2d-x在VS2012环境下编译的异常
- SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍
- Spring事务传播类型
- ubuntu下的javadoc乱码问题
- 《机器学习实战》学习笔记---KNN
- java并发——全部线程机制详解
- mac系统中如何利用命令框里进行数据库迁移
- javaScript 外部对象2
- 使用Fresco实现大图浏览(支持手势放大、拖拽)
- 使用Sblime Text开发TypeScript(TS)的编译环境搭建
- FIDO Metadata Statements(译)
- java-动态代理-从源码分析
- 蓝桥杯 操作格子(线段树例题)