KNN是通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
优点:
① 训练时间复杂度比支持向量机之类的算法低,仅为O(n)
② 和朴素贝叶斯之类的算法比,对数据没有假设,准确度高,对异常点不敏感
③ KNN主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合
缺点
① 计算复杂性高空间复杂性高
② 样本不平衡的时候,对稀有类别的预测准确率低
③ 可解释性差,无法给出决策树那样的规则。