机器学习中算法的优缺点之最近邻算法
【摘要】 机器学习中有个算法是十分重要的,那就是最近邻算法,这种算法被大家称为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算法。
就业培训申请领取
环球青藤
官方QQ群扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群
数据分析师相关文章推荐
|数据分析师最新文章推荐
刷题看课 APP下载
免费直播 一键购课
代报名等人工服务
- 1 传统数据和大数据的区别
- 2 数据分析的8种方法都是哪些?
- 3 数据分析的具体流程是什么?
- 4 3大常用的数据分析工具是什么?
- 5 excel中的运算符
- 6 数据分析的作用有哪些?
- 7 电子商务需要分析哪些数据?
- 8 数据分析包括哪些内容?
- 9 数据分析的基本步骤
- 10 rdd是什么?