
上QQ阅读APP看书,第一时间看更新
4.3 KNN算法的优缺点
每个算法都有其优缺点,KNN算法也不例外,本节将分别对KNN算法的优缺点进行介绍。
1. KNN算法的优点
1)简单,易于理解,易于实现,无须估计参数和训练。
2)适合对稀有事件进行分类(例如当客户流失率低于0.5%,构造流失预测模型)。
3)特别适合多分类问题(multi-modal,对象具有多个类别标签)。
2. KNN算法的缺点
1)懒惰算法,对测试样本分类时的计算量大,内存开销大。
2)可解释性较差,无法给出决策树那样的规则。
3)KNN算法在分类时最主要的不足是:当样本不平衡,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。该算法只计算“最近的”邻居样本,当某一类样本数量很大时,那么这类样本并不接近目标样本,或者这类样本很靠近目标样本。