当前位置: 首页 > news >正文

纯静态做企业网站百度快照客服

纯静态做企业网站,百度快照客服,做设计一般用的素材网站是什么意思,做前端网站用什么软件写代码1. KNN 算法 K-近邻(k-Nearest Neighbor,KNN)是分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别&a…

1. KNN 算法

        K-近邻(k-Nearest Neighbor,KNN)是分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

         K邻近算法原理很简单,但是真正用好它也不容易,比如K的取值到底为多少才合适,而且知道什么场景下用它更不简单。

         缺点:  该算法的执行效率并不高,每次计算都需要将 待识别的用例 与所有测试用例进行求差计算,计算量较大。随着测试数据的增多,计算量会越来越大。

2. 数字识别 Python 实现

        下图为一个 二进制表示的数字“6”,每个训练数据和测试数据都是以这种形式保存在一个txt文件中,数据为32*32(1024个数据)的矩阵。

20171230175900503

 

KNN算法实现数字识别步骤

1. 读取训练数据中的所有数据到一个矩阵中(矩阵中的每一列代表一个图片数据),同时读取数据的标签保存在一个数组中(数据的标签或患者说文件代表的具体数字信息在文件命中)

2. 读取测试数据,转换1024*1的矩阵。

3. 用测试数据与矩阵A中的每一列求距离,求得的L个距离存入距离数组中(距离算法)

4. 从距离数组中取出最小的K个距离所对应的训练集的索引

5. 拥有最多索引的值就是预测值(有多个众数时,按距离和最小)

数据加载函数

该函数用于打开一个数字数据源(32*32),保存在一个1*1024的矩阵中

def openFile(fileName):returnVect = np.zeros((1,1024))fr = open(fileName)for i in range(32):linestr = fr.readline();for j in range(32):returnVect[0,32*i+j] = int(linestr[j])return returnVect

如果需要加载某个文件夹下的所有数字文件则可以调用如下函数(数字的标签保存在文件名中第一个字符)

def loadData(dir):fileList = listdir(dir)  // 列出dir文件下的所有文件(测试数据)lable = []index = 0dataMat = np.zeros((1024,len(fileList)))for file in fileList:lable.append(int(file[0]));  // 标签信息保存在文件的第一个字符中dataMat[:,index] = openFile(dir+file)index +=1;return dataMat,lable

距离计算函数

该函数用于计算两个图片举证(1*1024)的距离,(相同位置如果数字相同则距离加1)

def caculateerro(data1,data2):len1 = len(data1)len2 = len(data2)sizelen = min(len1,len2);totalerro = 0;for i in range(sizelen):if data1[i] != data2[i]:totalerro +=1return totalerro

数字识别函数

def classFier(datain):k=15dictErro = {} //保存 训练数据编号——测试数据与该训练数据的距离trainingdata, traninglabel = loadData('digits\\trainingDigits\\');m,n = trainingdata.shape;for i in range(n):
        // 计算测试图片与每张训练图片的距离currErro = caculateerro(datain,trainingdata[:,i])dictErro[i] = currErrosortedDict = sorted(dictErro.items(),key=lambda x:x[1],reverse=False);numofnumber = range(10)for i in range(10):numofnumber[i] = 0for j in range(30):label = int(sortedDict[j][0])numofnumber[int(traninglabel[label])] += 1;return numofnumber.index(max(numofnumber))

        上述源码中KNN算法的K取值为15,即取出距离训练数据最小的十五个图片,然后判断这15张图片中对应的那个数字出现的平率最多,将最多的数据作为识别结果返回。

 

参考:

《机器学习实战》

https://blog.csdn.net/zzz_cming/article/details/78938107

转载于:https://www.cnblogs.com/NeilZhang/p/9059529.html

http://www.lbrq.cn/news/2708929.html

相关文章:

  • 网站建设合同违约责任品牌营销策略分析论文
  • 做企业内部网站要多久优化大师在哪里
  • 物业服务网站建设章鱼磁力链接引擎
  • 营销网站建设的公司百度公司是国企还是私企
  • 做设计常用的素材网站sem营销是什么意思
  • 美女直接做的视频网站b2b电商平台有哪些
  • 网站 二级域名需要备案吗推广引流平台
  • 公司托管网站优化建设
  • 莱芜做网站的商家有哪些百度推广咨询
  • 深圳英文网站建设免费检测网站seo
  • 做采购 通常在什么网站看大连做优化网站哪家好
  • wordpress pdf 显示不了seo是搜索引擎优化
  • 多个域名指向同一个网站西安关键词优化平台
  • 家里的电脑ip做网站新闻发稿平台有哪些?
  • 网站后台问题有道搜索
  • 宝宝投票网站怎么做的全国疫情最新名单
  • 网站开发模学生个人网页设计模板
  • 做网站用com还是cn好织梦seo排名优化教程
  • 公司展厅设计效果图百度seo是什么
  • 淘宝上做网站698靠谱吗百度seo在哪里
  • wordpress登陆后评论seo外包公司一般费用是多少
  • 黑龙江网站设计公司平台搭建
  • 哪个网站买域名好四年级摘抄一小段新闻
  • wordpress自动生成网站地图网络公司主要做哪些
  • 太平洋建设集团网站网络运营是什么专业
  • 北京网站制作的长沙网站设计
  • 洛阳网站优化防城港网站seo
  • 网站问卷调查系统怎么做做小程序的公司
  • 东莞企业网站咨询典型十大优秀网络营销案例
  • 广西建设科技协会网站谷歌关键词推广怎么做
  • Linux中的日志管理
  • [工具]vscode 使用AI 优化代码
  • 零信任架构(Zero Trust Architecture, ZTA)(通过动态验证和最小权限控制,实现对所有访问请求的严格授权和持续监控)
  • Vue浅学
  • 【Linux】常用命令(三)
  • LeetCode Day5 -- 栈、队列、堆