KNN算法优缺点总结,以及机器学习流程的总结

KNN算法作为一个最简单,也是一个很实用的机器学习的算法,日常的使用中也能处理很多问题,这里做一下总结记录

优点

1、KNN可以处理分类问题,同时天然可以处理多分类问题,比如鸢尾花的分类

2、简单,易懂,同时也很强大,对于手写数字的识别,鸢尾花这一类问题来说,准确率很高

3、KNN还可以处理回归问题,也就是预测

 

缺点

1、效率低,因为每一次分类或者回归,都要把训练数据和测试数据都算一遍,如果数据量很大的话,需要的算力会很惊人,但是在机器学习中,大数据处理又是很常见的一件事

2、对训练数据依赖度特别大,虽然所有机器学习的算法对数据的依赖度很高,但是KNN尤其严重,因为如果我们的训练数据集中,有一两个数据是错误的,刚刚好又在我们需要分类的数值的旁边,这样就会直接导致预测的数据的不准确,对训练数据的容错性太差

3、维数灾难,KNN对于多维度的数据处理也不是很好,如下图

KNN算法优缺点总结,以及机器学习流程的总结

因为距离会越来越大,那么就会越来越“不像”,而对于KNN这种高度依赖距离的算法来说,这个也会影响准确率的

 

机器学习具体实践的整个流程

KNN算法优缺点总结,以及机器学习流程的总结

形象一点的流程图

KNN算法优缺点总结,以及机器学习流程的总结