机器学习实战----k值近邻算法(Python语言)

实现kNN 分类算法的步骤:

(1)计算已知类别数据集中的点和我们要测试的实验数据点的距离

注:什么是距离,即使用欧式距离计算公式

(2)按照距离递增次序排序

(3)选取与距离最小的的k个点

注:K的值取多大合适,我也在学习,之后也会写博客笔记,一起交流

(4)确定在k个值中,哪个类出现的频率最高

(5)实验结果是将出现频率最高的那个类最为我们的结果,即完成测试数据的分类

注意:代码中好多注释掉的print,如果你不太理解每一步的意思,可打印出来看看,便于理解



理解sortedClassCount[0][0]的用法吗??

由于sorted函数返回的是以元组为成员的列表,即故需要两次索引,有没有豁然开朗,嘻嘻。。


最后调用函数,输入[0,0]测试,给我们分的类是B

欧式距离公式;

下面就是对代码中的函数进行解释:

首先是.tile()函数---是一个将数组在指定轴进行多次copy,废话不多说,看例子


结果:注意是几位数组


此函数在本代码的应用是,将测试数据[0,0],扩展,然后才可以一次性运算矩阵减法,将该数据与训练集做差,即步骤(1)。

欢迎留言,我虚心接收意见和教导。

猜你喜欢

转载自blog.csdn.net/xuyunyunaixuexi/article/details/80555320