KNN算法优缺点
- 优点
(1) 精度高
(2) 对异常值不敏感:某个异常值对整个结果不造成影响;
(3) 无数据输入假定:无数据的独立性等假设; - 缺点
(1) 计算复杂度高:因为要计算的点需要与所有点计算距离,所以复杂度很高;
(2) 空间复杂度高:因为需要加载所有的样本;
适应的数据范围
- 数值型和标称型(是或者否)
算法原理
K值选择
- 如果选择较小的K值
– 近似误差会减小(针对训练集),估计误差会增大(针对测试集或验证集);
– 对噪声比较敏感;
– 容易过拟合(模型复杂),泛化能力差; - 如果选择较大的K值
– 近似误差增大,估计误差会减小;
– 整体模型变得简单;
距离选择
- 欧式距离:对异