K-NN k-近邻算法(K-Nearest Neighbors)- 机器学习
K-NN k-近邻算法(K-Nearest Neighbors)- 机器学习
算法步骤
-
计算已知类别数据集中的点与当前点之间的距离(KNN算法中使用的是欧式距离)
-
按照距离递增次序排序;
-
选取与当前点距离最小的 k 个点;
-
确定前 k 个点所在类别的出现频率;
-
返回前 k 个点所出现频率最高的类别作为当前点的预测分类
简单来说,KNN 的原理就是当预测一个新的值 x 的时候,根据它距离最近的 K 个点是什么类别来判断 x 属于哪个类别
KNN 算法优点
-
思想极度简单,简单易用,相比其他算法,KNN 算是比较简洁明了的算法,应用数学知识少(近乎为零)
-
效果好,对异常值不敏感
-
可以解释机器学习算法使用过程中的很多细节问题
-
更完整的刻画机器学习应用的流程
-
模型训练时间快,KNN 是一种非参的,惰性的算法模型
KNN 算法缺点
-
对内存要求高,因为该算法存储了所有训练数据
-
预测阶段可能很慢
-
对不相关的功能和数据规模敏感