亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

機器學習python,k近鄰分類器,三維作圖

2019-11-06 07:54:48
字體:
來源:轉載
供稿:網友
#-*-coding:utf-8 -*-from numpy import *import Operatorimport matplotlibimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D#讀取文件數據def file2matrix(filename):    fr=open(filename)#打開文件    arrayOLines=fr.readlines()#將文件讀入一個字符串列表,在列表中每個字符串就是一行    numberOFlines=len(arrayOLines)#讀入字符串列表的數量,即文件的行數    returnMat=zeros((numberOFlines,3))#創建numberOFlines行3列的numpy矩陣    classLabelVector=[]#創建標簽數組    index=0    for line in arrayOLines:        line=line.strip()#刪除每行兩側的空格        listFormLine=line.split('/t')#將每行的字符串列表以‘/t’為間隔分為序列        returnMat[index,:]=listFormLine[0:3]#將每一行數據存入returnMat數組中        classLabelVector.append(int(listFormLine[-1]))#將每一行的最后一列即標簽存入classLabelVector中        index+=1    return returnMat,classLabelVector#返回樣本特征矩陣與標簽向量#歸一化數據def autoNorm(dataset):    minVals=dataset.min(0)#列中最小值    maxVals=dataset.max(0)#列中的最大值    ranges=maxVals-minVals    normDataSet=zeros(shape(dataset))#創建與樣本特征矩陣同大小的數值全是0的矩陣    m=dataset.shape[0]#m是dataset的列數,即樣本特征的維數    normDataSet=dataset-tile(minVals,(m,1))#tile()是將minVals復制成m行3列,即與dataset同大小的矩陣    normDataSet=normDataSet/tile(ranges,(m,1))    return normDataSet,ranges,minVals#返回歸一化的樣本特征矩陣,范圍,每列最小值#K近鄰分類def classify(inX,dataSet,labels,k):    dataSetSize=dataSet.shape[0]#讀取樣本的特征矩陣的維數    diffMat=tile(inX,(dataSetSize,1))-dataSet#計算測試數據與每一個樣本特征矩陣的歐氏距離    sqDiffMat=diffMat**2    sqDistances=sqDiffMat.sum(axis=1)#每一行的相加    distances=sqDistances**0.5    sortedDistIndicies=distances.argsort()#測試數據與每一個樣本特征矩陣的歐氏距離從小到大排列后,將原樣本的索引值賦值給sortedDistIndicies    classCount={}#創建字典    for i in range(k):        voteIlabel=labels[sortedDistIndicies[i]]#將sortedDistIndicies相對應的標簽賦值給voteIlabel        classCount[voteIlabel]=classCount.get(voteIlabel,0)+1#get是取字典里的元素,                              #如果之前這個voteIlabel是有的,那么就返回字典里這個voteIlabel里的值,                              #如果沒有就返回0(后面寫的),這行代碼的意思就是算離目標點距離最近的k個點的類別,                        #這個點是哪個類別哪個類別就加1        sortedClassCount=sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True)#key=operator.itemgetter(1)的意思是按照字典里的第一個排序,                                          #{A:1,B:2},要按照第1個(AB是第0個),即‘1’‘2’排序。reverse=True是降序排序        return sortedClassCount[0][0]#返回發生頻率最高的元素標簽def datingClassTest():      hoRatio=0.10      datingDataMat,datingLabels=file2matrix(r'F:/ML_use/datingTestSet2.txt')      normMat,ranges,minVals=autoNorm(datingDataMat)      m=normMat.shape[0]      numTestVecs=int(m*hoRatio)      errorCount=0.0      for i in range(numTestVecs):         classifierResult=classify(normMat[i,:],normMat[numTestVecs:m,:],datingLabels[numTestVecs:m],3)         PRint "the classifier came back with: %d,the real answer is: %d"%(classifierResult,datingLabels[i])         if(classifierResult!=datingLabels[i]):            errorCount+=1.0      print "the total error rate is:%f"%(errorCount/float(numTestVecs))def classifyPerson():   resultList=['not at all','in small doses','in large doses']   percentTats=float(raw_input("percentage of time spent playing vidio games?"))   ffMines=float(raw_input("frequent flier miles earned per year?"))   iceCream=float(raw_input("liters of ice cream consumed per year?"))   datingDataMat,datingLabels=file2matrix(r'F:/ML_use/datingTestSet2.txt')   normMat,ranges,minVals=autoNorm(datingDataMat)   inArr=array([ffMines,percentTats,iceCream])   classifierResult=classify((inArr-minVals)/ranges,normMat,datingLabels,3)   print "you will probably like this person:",resultList[classifierResult-1]   dataArr = array(datingDataMat)   n = shape(dataArr)[0]   xcord1 = []; ycord1 = [];zcord1=[]   xcord2 = []; ycord2 = [];zcord2=[]   xcord3 = []; ycord3 = [];zcord3=[]   for i in range(n):      if int(datingLabels[i])== 1:         xcord1.append(dataArr[i,0]); ycord1.append(dataArr[i,1]);zcord1.append(dataArr[i,2])      elif int(datingLabels[i])== 2:         xcord2.append(dataArr[i,0]); ycord2.append(dataArr[i,1]);zcord2.append(dataArr[i,2])      elif int(datingLabels[i])== 3:         xcord3.append(dataArr[i,0]); ycord3.append(dataArr[i,1]);zcord3.append(dataArr[i,2])   fig = plt.figure()   ax = fig.add_subplot(111, projection='3d')   ax.set_title('KNN')   type1=ax.scatter(xcord1, ycord1,zcord1, s=30, c='red', marker='s')   type2=ax.scatter(xcord2, ycord2,zcord2, s=30, c='green',marker='o')   type3=ax.scatter(xcord3, ycord3,zcord3, s=30, c='b',marker='+')   ax.scatter(inArr[0], inArr[1],inArr[2], s=100, c='k', marker='8')   plt.figtext(0.02,0.92,'class1:Did Not Like',color='red')   plt.figtext(0.02,0.90,'class2:Liked in Small Doses',color='green')   plt.figtext(0.02,0.88,'class3:Liked in Large Doses',color='b')   ax.set_zlabel('frequent flier miles earned per year')   ax.set_ylabel('percentage of time spent playing vidio games')   ax.set_xlabel('liters of ice cream consumed per year')   plt.show()classifyPerson()
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品免费在线观看| 久久最新资源网| 97人洗澡人人免费公开视频碰碰碰| 一区二区三区国产在线观看| 尤物tv国产一区| 欧美男插女视频| 97超级碰在线看视频免费在线看| 中文字幕欧美精品日韩中文字幕| 亚洲码在线观看| 欧美疯狂性受xxxxx另类| 伊人一区二区三区久久精品| 国产精品一区二区久久国产| 亚洲欧美日韩直播| 大胆人体色综合| 亚洲的天堂在线中文字幕| 亚洲精品中文字幕女同| 538国产精品一区二区免费视频| 久久男人av资源网站| 亚洲无线码在线一区观看| 亚洲一区二区三区香蕉| 欧美激情乱人伦一区| 国产精品av在线| 97在线免费观看| 亚洲精品99久久久久中文字幕| 欧美黄色性视频| 久久久极品av| 亚洲国产古装精品网站| 精品毛片三在线观看| 欧美精品videossex性护士| 成人网在线免费观看| 亚洲丁香久久久| 欧美极品在线视频| 亚洲片av在线| 久久香蕉国产线看观看网| 久久久女人电视剧免费播放下载| 日韩福利伦理影院免费| 国产精品91久久久久久| 91高清视频免费| 日本道色综合久久影院| 精品日韩美女的视频高清| 国产精品免费视频久久久| 在线观看免费高清视频97| 欧美夫妻性生活xx| 中文字幕欧美精品日韩中文字幕| 久久久久中文字幕2018| 国产精品白嫩初高中害羞小美女| 伊人av综合网| 亚洲欧洲激情在线| 91日本在线视频| 91网站免费观看| 亚洲成人久久电影| 91在线高清视频| 欧美电影在线观看高清| 亚洲精品白浆高清久久久久久| 日韩中文字幕不卡视频| 欧美另类暴力丝袜| 国产精品久久二区| 91av视频在线观看| 日本成人在线视频网址| 精品欧美激情精品一区| 久久亚洲精品小早川怜子66| 欧美性猛交99久久久久99按摩| 日本精品久久久久久久| 精品综合久久久久久97| 亚洲国产欧美日韩精品| 国产精品私拍pans大尺度在线| 一区二区三区天堂av| 精品无人区太爽高潮在线播放| 欧美日韩精品二区| 国产精品久久久久久五月尺| 日韩欧美国产网站| 亚洲成人精品视频| 欧美日韩在线观看视频小说| 浅井舞香一区二区| 亚洲视频在线看| 亚洲国产成人av在线| 中文字幕亚洲综合久久筱田步美| 亚洲欧美国产精品va在线观看| 国产成人精品在线视频| 亚洲欧美国产一本综合首页| 欧美特级www| 5566成人精品视频免费| 高潮白浆女日韩av免费看| 8090理伦午夜在线电影| 精品国产1区2区| 亚洲人成在线观看网站高清| 色悠久久久久综合先锋影音下载| 国产美女高潮久久白浆| 亚洲自拍偷拍视频| 亚洲国产黄色片| 亚洲免费福利视频| 1769国内精品视频在线播放| 91大神在线播放精品| 亚洲欧美激情视频| 色偷偷亚洲男人天堂| 国产专区欧美专区| 日韩视频免费看| 精品日本高清在线播放| 日本成人精品在线| 亚洲无av在线中文字幕| 国产在线精品自拍| 日韩电影免费在线观看| 国语自产精品视频在免费| 欧美性猛交xxxx免费看久久久| 欧美国产高跟鞋裸体秀xxxhd| 国产精品久久久久久久久| 亚洲片av在线| 26uuu另类亚洲欧美日本老年| 亚洲欧美视频在线| 精品伊人久久97| 欧美肥老太性生活视频| 国产精品日韩专区| 国产精品久久久久一区二区| 懂色av影视一区二区三区| 97不卡在线视频| 欧美成在线视频| 亚洲国模精品一区| 国产视频观看一区| 日韩av在线免费| 久久久精品999| 国产精品久久久久久久久久| 一区二区国产精品视频| 亚洲成av人影院在线观看| 欧美www视频在线观看| 97精品国产97久久久久久免费| 国产精品久久久久久久久久小说| 精品欧美激情精品一区| 国产精品视频午夜| 久久久久久久电影一区| 另类专区欧美制服同性| 欧美日韩日本国产| 色综合天天狠天天透天天伊人| 国产成人精品一区二区三区| 国产精品91久久久| 久久综合免费视频| 亚洲三级免费看| 国内精品久久久久| 国产精品自产拍在线观看中文| 国产精品综合不卡av| 色中色综合影院手机版在线观看| 川上优av一区二区线观看| 国产欧美日韩精品丝袜高跟鞋| 欧美天堂在线观看| 亚洲xxxx3d| 久久精品久久久久| 亚洲精品国产欧美| 成人黄色av网站| 日日狠狠久久偷偷四色综合免费| 亚洲国产一区二区三区四区| 尤物九九久久国产精品的特点| 亚洲一区二区中文字幕| 欧美猛男性生活免费| 日韩av免费在线播放| 欧美成人亚洲成人| 色一区av在线| 在线观看欧美www| 国产成人精品视| 亚洲一区二区三区久久| 日本精品久久久久久久| 日韩av在线网页| 亚洲成人aaa| 欧美成人精品xxx| 亚洲精品456在线播放狼人| 91在线无精精品一区二区|