knn算法是属于监督学习的一种算法,简单来说就是根据预测样本和训练样本的距离来进行分类或者回归。
1.k值的选择:
若k较小,模型的复杂度较高,容易发生过拟合
若k较大,与输入实例较远的训练样本也会起预测作用,是预测误差变大。
通常采用交叉验证法来选取最优的k值。
2.距离的度量主要有欧式距离,皮尔逊相关系数(Pearson Correlation),余弦相似度(Cosine Similarity)等
3.knn权重 :
根据距离的远近设置不一样的权重,比较常用的有高斯函数等
knn算法处理连续的属性值,要对样本数据集进行标准化处理,保证各个物理量之间处于同一个数量级之下,消除不同量纲之间的差异,主要有线性归一化和0均值标准化方法