KNN算法
𝑘近邻法(k-Nearest Neighbor,kNN)是一种比较成熟也是最简单的机器学习算法,可以用于基本的分类与回归方法。
算法的主要思路:
如果一个样本在特征空间中与k个实例最为相似(即特征空间中最邻近),那么这k个实例中大多数属于哪个类别,则该样本也属于这个类别。
对于分类问题:对新的样本,根据其k个最近邻的训练样本的类别,通过多数表决方式进行预测。
对于回归问题:对新的样本,根据其k个最近邻的训练样本标签值的均值作为预测值。
k近邻的三要素:
1.k值选择
2.距离度量
3.决策规则
算法流程
1.计算测试对象到训练集中每个对象的距离
2.按照距离的远近排序
3.选取与当前测试对象最近的k的训练对象,作为该测试对象的邻居
4.统计这k个邻居的类别频次
5.k个邻居里频次最高的类别,即为测试对象的类别