knn ( k-nearest neighbor )是一种可用于分类和回归的简单机器学习算法,其核心思想是在已有的点中找到与新点最相似的k个点,并将新点归为k个点中最多的类别
由此,我们可以利用训练数据将向量空间进行划分得到模型
一般,我们用特征值的距离来衡量两个点间的相似程度
对于 knn 算法,k值的选取与距离量度的选择十分关键
一、k值
1. 当 K 值较小时,距离较远的点会被排除,因此会对临近点敏感。若其中存在噪点,会导致结果出错
所以 K 值较小时易导致过拟合
2. 当 K 值较大时,会将较远的点也考虑进去导致结果出现偏差,且与算法的初衷相悖。所以为了防止欠拟合,K值也不能过大
ps:k值选择一般通过交叉验证选择,且基本不会太大
二、距离
距离量度的选取根据待解决的问题而定,一般我们使用欧几里得距离,当然也可以选择曼哈顿距离等其他距离量度
三、其他
回归:使用 knn 回归与分类十分相似,只需最后将 K 个临近的特征值取平均即可
优点:精度高、对异常值不敏感、无数据输入假定
缺点:计算复杂度高、空间复杂度高
标签:KNN,knn,ML,复杂度,距离,003,算法,值较,量度 From: https://www.cnblogs.com/kotorin/p/16858872.html