机器学习实践——KNN算法的实现(一)

本文介绍了KNN算法在数据挖掘中的应用,详细阐述了算法原理及其实现步骤。包括计算输入向量与训练集的距离、数据的解析与归一化处理,以及分类器的测试和系统构建。重点讨论了K值选择对分类结果的影响,并提供了代码示例。
摘要由CSDN通过智能技术生成

KNN算法是数据挖掘中应用于分类的比较简单的一种算法,也是一种基于实例的算法。

工作原理(通俗):建立一个d维空间,d就是属性的个数,训练集中的类标号就在该d维空间中,给定一个测试样例,根据属性找到在d维空间的位置,然后画一个半径为k的圆,在圆内中属于包含哪些类就是哪一类。最关键点就在于k的取值,若太大则会产生误分类,太小可能会受到噪音带来的影响

接下来这段代码是机器学习与实践上的关于KNN的算法,是关于通过输入约会对象的三个特征值,预测对他的期望值。我加上了一些注释更助于理解代码:

1:首先是KNN算法,计算输入向量INX 与训练集dataSet中各个点的距离,然后将距离按从小到大排列,选取前K个值,最后返回频率最高的类标签

 

2:从数据文本中解析数据,也就是将文件中的数据导入到矩阵以及列表中便于处理

3:因为不同属性的数值范围不同 ,数字差值较大的属性可能会影响最终结果,所以要采用数值归一化处理,公式为

newValue = (oldValue - minValue) / (maxvalue - min

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值