版权声明:本文为博主原创文章,转载请标明出处。https://mp.csdn.net/postedit/80020969
1 k-NN的优点:精度高、对异常值不敏感、无数据输入假定。
2 缺点:计算复杂度高,空间复杂度高;
3 适用数据范围:数值型和标型;
4 k临近法假定给定一个训练数据集,其中的实例类别已定,当有新的实例进来后,根据其k个最近邻的训练实例的类别,通过多数表决的方式进行预测。因此,k近邻法不具有显式的学习过程。
5 k近邻法的三个基本要素:距离度量,k值选择(通常K是不大于20的整数)和分类决策规则;
6 距离的度量
7 K值得选取:
如果选择较小误差意味着整体模型变得复杂,相当于用较小的邻域中的训练实例进行预测,这样导致“学习的近似误差”会减小,只有与输入实例较近的实例才会对预测结果起作用,但是估计误差会增加,预测的结果对临近实例点比较敏感,如果临近的点中有噪声,预测结果就会出错。选择较大的k值,相当于整体模型变得简单,可以减小模型的估计误差,但是,学习的近似误差会增大。在实践中,一般选择比较小的k 值,通常采用交叉验证法来选取一个最优的k值;
8 分类决策:多数表决;
9 knn算法的关键在于如何快速搜索到k个最近的值,一般的线性扫描计算量太大,利用kd树来减少计算距离的次数。但是kd树更适用于训练实例数远大于空间维数时k近邻搜索。当空间维数接近训练实例数时,它的效率会迅速下降。