



kNN是一种有监督的分类算法,其算法思想简单、易于实现、无须估计参数、分类准确率高,不足之处在于预测结果依赖于k值的选择,易受到噪声数据影响,特别是当样本不平衡时,分类会偏向于训练样本数量较多的类别,具有较高的计算复杂度。本章介绍了kNN算法原理,通过直方图估计法、Parzen窗估计概率密度函数并预测三文鱼和鲈鱼的分类,最后利用kNN对鸢尾花数据进行分类预测。kNN算法没有训练的过程,通过投票的方式预测新样本的类别,但kNN算法仍有很多值得关注的地方,如k值的选择、距离的度量方法及快速检索k近邻的算法(KD树等)。