KNN的优缺点
优点:
- 简单易用,相比其他算法,KNN算式比较简洁明了的算法
- 模型训练速度快
- 预测效果好
- 对异常值不敏感
缺点: - 对内存要求较高,因为该算法存储了所有训练数据
- 预测阶段可能很慢
- 对不相关的功能和数据规模敏感
- 对数据量纲敏感,所以数据要先归一化
KNN概述
KNN的全称是K Nearest Neighbors,意思是K个最近的邻居,KNN的原理就是当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别,通过方差表示距离
KNN的K值怎么选
通过不断验证K不同的取值来确定
KNN数据需要归一化吗?
KNN对数据纲量敏感,所以数据要先归一化,因为KNN使用的方差来反映“距离”
KNN三要素
- k值的选取
- 距离度量的方式。一般为欧式距离
- 分类决策规则。分类一般为多数表决,就是哪类多选哪类。回归为选择平均法,即k个样本输出的平均值作为预测输出
欧式距离与曼哈顿距离区别
**欧式距离:**平均差求和再开方 **曼哈顿距离:**坐标差的绝对值求和 一般用欧式距离而非曼哈顿距离的原因:欧式距离可适用于不同空间,表示不同空间点之间的距离;曼哈顿距离则只计算水平或垂直距离,有维度的限制
KNN的k设置过大会有什么问题
如果选择较大的K值,就相当于用较大领域中的训练实例进行预测,其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大 我们考虑一种极端情况,当k和整个样本数量一样时,KNN的分类结果总取决于样本类别数量最多的那一类。这时模型的误差最大化
|