仅自己学习用
KNN概述
k-近邻(KNN,k-nearestneighbor),近朱者赤近墨者黑!
k近邻算法的输入为 实例的特征向量,对应于特征空间的点;
输出为 实例的类别,可以取多类
k近邻算法假设给定一个训练数据集,其中的实例类别已定。
分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。
k近邻算法实际上利用训练数据集对特征向量空间进行划分,并作为其分类的“模型”
K近邻算法的基本要素:
1.k值的选择
2.距离度量
3.分类决策规则
KNN原理
1.带有标签的样本数据集(训练样本集),包含每条数据与所属分类的对应关系
2.输入没有标签的新数据后,将新数据中的每个特征与样本集中数据对应的特征进行比较
i. 计算新数据与样本数据集中每条数据的距离
ii. 对求得的所有距离进行排序(从小到大,越小表示越相似)
iii. 取前k(<=20)个样本数据对应的分类标签
3.求k个数据中出现次数最多的分类标签作为新数据的分类
KNN通俗理解
给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最近邻的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类
KNN算法特点
优点:精度高、对异常值不敏感、无数据输入假定
缺点:计算复杂度高,空间复杂度高
适用数据范围:数值型和标称型