1. 首页 > 数码 >

knn算法及实现过程 knn算法实现流程图

机器学习中算法的优缺点之近邻算法

机器学习中有个算法是十分重要的,那就是近邻算法,这种算法被大家称为KNN。我们在学习机器学习知识的时候一定要学习这种算法,其实不管是什么算法都是有自己的优缺点的,KNN算法也不例外,在这篇文章中我们就详细的给大家介绍一下KNN算法的优缺点,大家一定要好好学起来哟。

knn算法及实现过程 knn算法实现流程图knn算法及实现过程 knn算法实现流程图


knn算法及实现过程 knn算法实现流程图


说到KNN算法我们有必要说一下KNN算法的主要过程,KNN算法的主要过程有四种,就是计算训练样本和测试样本中每个样本点的距离,第二个步骤就是对上面所有的距离值进行排序(升序)。第三个步骤就是选前k个小距离的样本。第四个步骤就是根据这k个样本的标签进行投票,得到后的分类类别。

那么大家是否知道如何选择一个佳的K值,这取决于数据。一般情况下,在分类时较大的K值能够减小噪声的影响,但会使类别之间的界限变得模糊。一般来说,一个较好的K值可通过各种启发式技术来获取,比如说交叉验证。另外噪声和非相关性特征向量的存在会使K近邻算法的准确性减小。近邻算法具有较强的一致性结果,随着数据趋于无限,算法保证错误率不会超过贝叶斯算法错误率的两倍。对于一些好的K值,K近邻保证错误率不会超过贝叶斯理论误率。

那么KNN算法的优点是什么呢?KNN算法的优点具体体现在六点,就是对数据没有假设,准确度高,对outlier不敏感。第二就是KNN是一种在线技术,新数据可以直接加入数据集而不必进行重新训练。第三就是KNN理论简单,容易实现。第四就是理论成熟,思想简单,既可以用来做分类也可以用来做回归。第五就是可用于非线性分类。第六就是训练时间复杂度为O(n)。由此可见,KNN算法的优点是有很多的。

那么KNN算法的缺点是什么呢?这种算法的缺点具体体现在六点,就是样本不平衡时,预测偏比较大。第二就是KNN每一次分类都会重新进行一次全局运算。第三就是k值大小的选择没有理论选择,往往是结合K-折交叉验证得到k值选择。第四就是样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少)效果。第五就是需要大量内存。第六就是对于样本容量大的数据集计算量比较大。

正是由于这些优点和缺点,KNN算法应用领域比较广泛,在文本分类、模式识别、聚类分析,多分类领域中处处有KNN算法的身影。

在这篇文章中我们给大家介绍了很多关于KNN算法的相关知识,通过对这些知识的理解相信大家已经知道该算法的特点了吧,希望这篇文章能够帮助大家更好的理解KNN算法。

KNN算法,k近邻

K近邻(k-Nearest Neighbour,KNN)分类算法,是一个理论上比较成熟的方法,也是简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个相似(即特征空间中邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息