knn算法简介
knn算法简介
邻近算法,或者说K最近邻(KNN,K-NearestNeighbor)分类算法是 数据分类技术中最简单的方法之一。其中k指最近的k个邻居。knn即,当对测试样本进行分类时,首先通过扫描训练样本集,找到与该测试样本最相似的个训练样本,根据这个样本的类别进行投票确定测试样本的类别。
knn算法深度解析与优点
knn算法解析
根据简介介绍可知,knn算法最重要的是k值与如何计算距离。
k的取值对knn算法的准确度影响极大
当K值较小时,模型会较依赖于附近的邻居样本,具有较好敏感性,但是稳定性会较弱。
当K值较大时,稳定性增加,但是敏感性会减弱。
如图
k是三时判断为六边形,k大一些即判断为四边形,充分体现了过小的不稳定性。
距离计算
欧式距离d = sqrt ( (x1-x2)^2+ (y1-y2)^2)。
皮尔逊相关系数
余弦相似度
knn算法优点
- 简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归;
- 可用于数值型数据和离散型数据;
- 训练时间复杂度为O(n);无数据输入假定;
- 对异常值不敏感。
书本代码实现
暂未实现,后续补充
总结
实现是个问题