一、原理
选择距离测试样本最近的k个样本,出现频数最大的样本的类别就是该测试样本的类别。
二、优缺点
它的特点是完全跟着数据走,没有数学模型可言。
优点:简单、快速、易于实现;
缺点:计算量大,数据不平衡时预测偏差比较大;
三、不平衡问题怎么解决?
数据不平衡时,距离测试样本最近的k个样本中,可能大数量类别样本最多,这样导致预测错误。
解决:使用权值,近的权值大,远的权值小;
四、计算量大怎么解决?
先将样本集按距离进行分组,然后计算出质心,找到离测试样本最近的质心,然后在这个组里面进行KNN算法。
适用于样本容量大的情况。
五、K是如何选取的?
过小容易过拟合,过大容易欠拟合。一般是选较小的值,采用交叉验证进行调优。
六、KD树是什么?
根据样本的n维特征进行划分存储,方便搜索。
七、使用场景?
需要一个特别容易解释的模型的时候,比如说推荐算法等。