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

网站流量100g玉溪网站制作公司

网站流量100g,玉溪网站制作公司,怎么加php网站登陆源码,电商网站开发平台pi netwo1.KNN算法 KNN算法即K-临近算法#xff0c;采用测量不同特征值之间的距离的方法进行分类。 以二维情况举例#xff1a; 假设一条样本含有两个特征。将这两种特征进行数值化#xff0c;我们就可以假设这两种特种分别为二维坐标系中的横轴和纵轴#xff0c;将一个样本以点的形…1.KNN算法 KNN算法即K-临近算法采用测量不同特征值之间的距离的方法进行分类。 以二维情况举例         假设一条样本含有两个特征。将这两种特征进行数值化我们就可以假设这两种特种分别为二维坐标系中的横轴和纵轴将一个样本以点的形式表示在坐标系中。这样两个样本直接变产生了空间距离假设两点之间越接近越可能属于同一类的样本。如果我们有一个待分类数据我们计算该点与样本库中的所有点的距离取前K个距离最近的点以这K个中出现次数最多的分类作为待分类样本的分类。这样就是KNN算法。 优点精度高对异常值不敏感无数据输入假定 缺点时间、空间复杂度太大比如每一次分类都需要计算所有样本点与测试点的距离 2.KNN算法的Python实现 import operator from os import listdirimport matplotlib import matplotlib.pyplot as plt from numpy import array, shape, tile, zeros#分类方法 #inx 待分类向量 #dataSet 测试数据 #labels 测试数据标签 #k 取前k个作为样本 def classify(inX,dataSet,labels,k):dataSetSizedataSet.shape[0]diffMattile(inX,(dataSetSize,1))-dataSet #tile方法利用输入数组进行扩充sqDiffMatdiffMat**2sqDistancesqDiffMat.sum(axis1)distancesqDistance**0.5indexdistance.argsort() #返回按从小到大的顺序排序后的元素下标classCount{}for i in range(k):lablelabels[index[i]]classCount[lable]classCount.get(lable,0)1#在python3中dict.iteritems()被废弃sortedClasssCountsorted(classCount.items(),keyoperator.itemgetter(1),reverseTrue)return sortedClasssCount[0][0]     代码传入的三个参数分别为待分类向量测试数据测试数据标签。代码使用欧式距离公式计算向量点之间的距离。\[ d\sqrt{(xA_0-xB_0)^2-xA_1-xB_1)^2} \] numpy.tile(A,reps) A指待输入数组reps则决定A的重复次数sorted(iterable,cmp,key,reverse) 这里利用了key参数使得使用字典中的value值进行排序实例1KNN算法改进约会网站配对效果 背景 假设A在利用约会网站进行约会她将自己交往过的人分为三类 不喜欢的人魅力一般的人极具魅力的人A收集这些人的生活记录从中提取中三类特征存储在文本datingTestSet2中 每年获得的飞行常客里程数玩游戏视频所耗时间百分比每周消耗的冰淇淋公升数利用这三类特征和标签组成的样本库我们可以在获得一个人的这三种特征的特征值的情况下利用KNN算法判断该人是否会是A喜欢人 读取数据 我们将数据从文本中读出并且以矩阵的形式进行存储 def file2matrix(filename):fropen(filename)datalinesfr.readlines()numberoflineslen(datalines)returnMatzeros((numberoflines,3))classlabelVector[]index0for line in datalines:lineline.strip()listfromlineline.split(\t)returnMat[index,:]listfromline[0:3]classlabelVector.append(int(listfromline[-1]))indexindex1return returnMat,classlabelVector 分析数据 我们可以利用Matplotlib制作原始数据的散点图观察特征 def analydata():a,bfile2matrix(datingTestSet2.txt)#创建一个图形实例figplt.figure()axfig.add_subplot(111)#scatter方法创建散点图#分析图像可以发现使用第一列和第二列数据特征更加明显ax.scatter(a[:,0],a[:,1],15.0*array(b),15.0*array(b))plt.show() 画图结果 这里以“冰淇淋公斤数”和“玩视频游戏所耗时间百分比”作为横纵坐标特征最为明显 归一化数据 在数据分析和机器学习中经常要进行数据归一化。因为不同的特征值使用不同的量度上下限不同使得有的特征产生的差值很大而有的很小会影响算法准确性。所以要先对数据预处理进行数据归一化处理。\[ newValue(oldValue-min)/(max-min) \] 分类器与测试 我们利用KNN算法以前10%的数据作为待分类数据后90%的数据作为样本库测试数据进行分类与测试 def datingClassTest():hoRatio0.10datingDataMat,datingLablesfile2matrix(datingTestSet2.txt)normMatdata2normal(datingDataMat)mnormMat.shape[0]numTestVecsint(hoRatio*m)errorCount0for i in range(numTestVecs):resultclassify(normMat[i,:],normMat[numTestVecs:m,:],datingLables[numTestVecs:m],3)print(the classify come back with: %d,the real answer is: %d%(result,datingLables[i]))if(result!datingLables[i]):errorCount1.0print(error rate is:%f%(errorCount/float(numTestVecs))) 测试结果错误率大概在5%左右。 我们可以改变hoRatio和k的值检查错误率是否发生变化 实例2手写识别系统 背景 假设我们有一些手写数字以如下形式保存 00000000000001100000000000000000 00000000000011111100000000000000 00000000000111111111000000000000 00000000011111111111000000000000 00000001111111111111100000000000 00000000111111100011110000000000 00000001111110000001110000000000 00000001111110000001110000000000 00000011111100000001110000000000 00000011111100000001111000000000 00000011111100000000011100000000 00000011111100000000011100000000 00000011111000000000001110000000 00000011111000000000001110000000 00000001111100000000000111000000 00000001111100000000000111000000 00000001111100000000000111000000 00000011111000000000000111000000 00000011111000000000000111000000 00000000111100000000000011100000 00000000111100000000000111100000 00000000111100000000000111100000 00000000111100000000001111100000 00000000011110000000000111110000 00000000011111000000001111100000 00000000011111000000011111100000 00000000011111000000111111000000 00000000011111100011111111000000 00000000000111111111111110000000 00000000000111111111111100000000 00000000000011111111110000000000 00000000000000111110000000000000 这是一个32*32的矩阵利用0代表背景1来代表手写数字 对于这些数据我们也可以利用KNN算法来识别写的是0~9中的哪里数字 注存储数据的文件例如0_0.txt代码数字0的第一个手写样本数据 数据预处理转换成测试向量   数据使用32X32的矩阵形式存储为了能够使用我们实现的KNN分类器我们必须将其转化成1X1024的向量形式进行表示也可以叫做降维将二维数据转换成了一维数据 def img2vector(filename):fropen(filename)returnVectzeros((1,1024))for i in range(32):linestrfr.readline()for j in range(32):returnVect[0,i*32j]int(linestr[j])return returnVect 使用KNN算法进行分类   转换成向量以后我们就可以使用我们实现的KNN分类器进行分类了 import operator from os import listdirimport matplotlib import matplotlib.pyplot as plt from numpy import array, shape, tile, zerosdef handwritingClassTest():hwlabels[]traingfilelistlistdir(digits/trainingDigits)mlen(traingfilelist)trainingDataMatzeros((m,1024))for i in range(m):filenameStrtraingfilelist[i]fileStrfilenameStr.split(.)[0]labelint(fileStr.split(_)[0])hwlabels.append(label)trainingDataMat[i,:]img2vector(digits/trainingDigits/%s % filenameStr)errorCount0.0testfilelistlistdir(digits/testDigits)mTestlen(testfilelist)for i in range(mTest):filenameStrtestfilelist[i]fileStrfilenameStr.split(.)[0]labelint(fileStr.split(_)[0])testVectorimg2vector(digits/testDigits/%s %filenameStr)resultclassify(testVector,trainingDataMat,hwlabels,3)print(come back with: %d,the real answer is: %d % (int(result),label))if(int(result)!label):errorCounterrorCount1.0print(total number errors is :%f % errorCount)print(error rate is :%f% (errorCount/float(mTest))) os.listdir() 利用该方法可以得到指定目录里面的所有文件名转载于:https://www.cnblogs.com/DLKKILL/p/10371928.html
http://www.pierceye.com/news/366811/

相关文章:

  • 网站开发公司会计处理滨州市住房和城乡建设局网站
  • 企业网站站内优化长尾关键词挖掘站长工具
  • 山东平台网站建设企业怎么做自己的品牌网站
  • 长沙seo网站排名杭州网站建设q479185700棒
  • 泰州网站建设搭建工程造价网
  • 网站流程优化c2c模式举例子
  • 帝国网站调用图片集网店平台有哪些
  • 做flash音乐网站的开题报告删除wordpress左上角
  • php网站开发学什么衡水大型网站建设
  • 广州网站开发软件平台wordpress 问号
  • 西安市建设干部学校网站厦门网站优化服务
  • 深圳市南山区住房和建设局官方网站如何把html网站改为asp网站
  • 网站建设有什么技术做dw网站图片怎么下载地址
  • 初中生如何做网站潍坊网站开发
  • 如何修改用织梦做的网站的模板价格对比网站开发
  • 单位建设网站的作用意义家在深圳坂田业主论坛
  • 网站什么时候备案好宜昌网站建设
  • 那个网站可以查询美做空基金竹中建设官方网站
  • 做直播网站找哪个网站网站平台推广方法
  • 查工程中标信息哪个网站成都网站建设 致尚
  • 做硅胶的网站wordpress googleapis
  • 做网站 简单外包常见的管理信息系统有哪些
  • 做网站一万静海网站开发
  • 视频模板在线制作网站空客德国公司
  • 如何编程制作自己的网站献县做网站价格
  • 成都网站品牌设计设计教育培训
  • 无代码做网站wordpress添加模板后台显示
  • 中山做网站费用国内做网站好的公司
  • 搬瓦工putty做网站建设网站证书
  • 江西网站开发哪家好平面设计主要是做什么的