Python如何实现KNN近邻算法


本篇内容主要讲解“Python如何实现KNN近邻算法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何实现KNN近邻算法”吧!简单来说,K-近邻算法采用测量不同特征值之间的距离方法进行分类优点:精度高、对异常值不敏感、无数据输入假定
缺点:计算复杂度高、空间复杂度高
适用数据范围:数值型和标称2型工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系(训练集)。输入没有标签的新数据之后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签(测试集)。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处。(通常k不大于20)我们先写入一段代码此处稍微介绍一下numpy这个包吧NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。
在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank,但是和线性代数中的秩不是一样的,在用python求线代中的秩中,我们用numpy包中的linalg.matrix_rank方法计算矩阵的秩
线性代数中秩的定义:设在矩阵A中有一个不等于0的r阶子式D,且所有r+1阶子式(如果存在的话)全等于0,那末D称为矩阵A的最高阶非零子式,数r称为矩阵A的秩,记作R(A)。依照KNN算法,我们依次来先准备好四个需要的数据inX:用于分类的输入向量inXdataSet:输入的训练样本集dataSet免费云主机域名labels:标签向量labels(元素数目和矩阵dataSet的行数相同)k:选择最近邻居的数目第一行第二行第三行第四行第五行按照距离递增次序排序选择与当前点距离最小的k个点确定前k个点所在类别的出现概率###11# 返回前k个点出现频率最高的类别作为当前点的预测分类刚刚试一试C++的版本…小心,救命处理excel和txt数据excel数据是矩阵数据,可直接使用,在此不做处理。文本txt数据需要一些数据处理数据归一化和标准化在数值当中,会有一些数据大小参差不齐,严重影响数据的真实性,因此,对数据进行归一化和标准化是使得数据取值在一定的区间,具有更好的拟合度。例如归一化就是将数据取值范围处理为0到1或者-1到1之间写个函数归一化的缺点:如果异常值就是最大值或者最小值,那么归一化也就没有了保证(稳定性较差,只适合传统精确小数据场景)标准化可查既然已经了解其内置的算法了,那么便调库来写一个吧到此,相信大家对“Python如何实现KNN近邻算法”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: CSS怎么设置页面打印

小编给大家分享一下CSS怎么设置页面打印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   首先我们来看看CSS媒体类型有哪些?   screen(屏幕)   print(打印)  …

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/09 19:26
下一篇 09/09 19:27

相关推荐