KNN只是取了最近的几个样本点做平均而已,离预测数据较远的训练数据对预测结果不会造成影响,但是svm、Bayes和NN每一个训练样本果都会对预测结果产生影响,于是如果样本不平衡的话KNN的效果最好,举个极端一点例子:答案只有A与B,但是训练样本中A的个数占99%,而B只有1%,svm、Bayes和NN训练出来的结果,恐怕预测任何数据给出的答案都是A,但是KNN不会。