1、kNN算法(K 最近邻(k-Nearest Neighbors))描述
简单地说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。
k-近邻算法
是一种基本
分类与回归
方法;它是是
监督学习
中分类方法的一种,属于
懒散学习法
(惰性学习方法)。
给定一个
训练集D
和一个
测试对象z
,该测试对象是一个由
属性值
和一个
未知的类别标签
组成的向量,该算法需要计算z和每个训练对象之间的距离(或相似度),这样就可以确定最近邻的列表。然后将最近邻中实例数量占优的类别赋给z。(
主要思想
是如果一个样本在特征空间中的k个最近的样本中的大多数都属于某个类别,则该样本属于这个类别,并具有这个类别上的特性 )。
注释:
(1)所谓
监督学习
与
非监督学习
,是指训练数据是否有标柱类别,若有则为监督学习,否则为非监督学习。 监督学习是指根据训练数据学习一个模型,然后能对后来的输入做预测。在监督学习中,输入变量和输出变量可以是连续的,也可以是离散的。若输入变量和输出变量均为连续变量,则称为
回归
;输出变量为有限个离散变量,则称为
分类
。
(2)
懒散学习法
在训练过程中不需要做许多处理。只有当新的未被分类的数据输入时,这类算法才会去做分类。
积极学习
法则会在训练中建立一个分类模型,当新的未分类数据输入时,这类学习器会把新数据也提供给这个分类模型。
2.KNN算法的工作原理:
存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新的数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处,
通常k是不大于20的整数
。最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。
3、KNN算法的一般流程
(1)
收集数据
:可以使用任何方法。
(2)
准备数据
:距离计算所需要的数值,最好是结构化的数据格式。
(3)
分析数据
:可以使用任何方法。
(4)
训练算法
:此步骤不适用于k-近邻算法。
(5)
测试算法
:计算错误率。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)