[机器学习案例]基于KNN手写数字识别

本文介绍了K-NN算法的工作原理,详细阐述了算法的执行步骤,并通过一个手写数字识别的案例进行了分析。在案例部分,先简要提到了CNN算法,然后重点讨论了KNN在识别任务中的应用。
摘要由CSDN通过智能技术生成

#算法介绍
之前已经介绍过,简单来说,K-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。

#算法步骤:
算法步骤:

  1. step.1—初始化距离为最大值
  2. step.2—计算未知样本和每个训练样本的距离dist
  3. step.3—得到目前K个最临近样本中的最大距离maxdist
  4. step.4—如果dist小于maxdist,则将该训练样本作为K-最近邻样本
  5. step.5—重复步骤2、3、4,直到未知样本和所有训练样本的距离都算完
  6. step.6—统计K-最近邻样本中每个类标号出现的次数
  7. step.7—选择出现频率最大的类标号作为未知样本的类标号

#案例分析
首先一个CNN算法

from numpy import *  
import operator  
   
def createDataSet():  
    group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])  
    labels = ['A','A','B','B']  
    return group,labels  
  
def classify0(inX,
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图解AI

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值