KNN算法-5-KNN算法总结

KNN的优点

1、KNN算法是一个非常简单的算法,理论成熟,思想简单,既可以用来做分类也可以用来做回归

2、天然解决多分类问题,也可用于回归问题

3、和朴素贝叶斯之类的算法比,对数据没有假设,准确度高,对异常点不敏感

4、KNN在训练过程中实质上不需要做任何事情,所以训练本身不产生任何时间上的消耗

5、由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合

KNN的缺点

1、计算量大,效率低。即使优化算法,效率也不高。

2、高度数据相关,样本不平衡的时候,对稀有类别的预测准确率低

3、相比决策树模型,KNN模型可解释性不强

4、维度灾难:随着维度的增加,“看似相近”的两个点之间的距离越来越大,而knn非常依赖距离

维数 点到点 距离
1维 0到1的距离 1
2维 (0,0)到(1,1)的距离 1.414
3维 (0,0,0)到(1,1,1)的距离 1.73
64维 (0,0,...0)到(1,1,...1) 8
10000维 (0,0,...0)到(1,1,...1) 100

你可能感兴趣的:(KNN算法-5-KNN算法总结)