这一算法对于有很多特征(几百或更多)的数据集往往效果不好,对于大多数特征的大多数取值都为0的数据集来说,这一算法的效果尤其不好。与之相反,如果你的模型过于简单,那么你可能无法抓住数据的全部内容以及数据中的变化,你的模型甚至在训练集上的表现就很差。但是,如果我们的模型过于复杂,我们开始过多关注训练集中每个单独的数据点,模型就不能很好地泛化到新数据上。k-NN算法最简单的版本只考虑一个最近邻,也就是与我们想要预测的数据点最近的训练数据点。可以发现,左上角新数据点的预测结果与只用一个邻居时的预测结果不同。