K-近邻法(KNN算法)


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) 测试算法 :计算错误率。
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值