一、算法简介
k近邻法(k-nearest neighbor,k-NN)是一种基本的分类方法,输入的是实例的特征向量,对应于特征空间的点,输出结果为实例的类别,可以取多类。对于训练集来说,每个实例的类别已定,当分类时,对于新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式来进行预测。k近邻法分类过程不具有显式的学习过程,其实际上是利用训练数据集对特征向量空间进行划分,从而作为后面分类的模型。对于k近邻法来说,最重要的是k值的选择、距离的度量以及分类决策规则得确定三个基本要素。
算法输入:
其中,
为实例的特征向量,
为实例的类别,
;实力特征向量x;
算法输出:实例x所属的类y.
算法步骤:
1.根据给定的距离度量,在训练集T中找出与x最近邻的k个点,涵盖这k个点的x的邻域记作
;
2.在