91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 786KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-13
  • 語言: Python
  • 標簽: kNNpython3??

資源簡介

python3下kNN數(shù)據(jù)和源碼

資源截圖

代碼片段和文件信息

#?-*-?coding:?cp936?-*-
#?1:約會網(wǎng)站
from?numpy?import?*
import?operator
from?os?import?listdir

#創(chuàng)造數(shù)據(jù)集
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

#第一個kNN分類器??inX-測試數(shù)據(jù)?dataSet-樣本數(shù)據(jù)??labels-標簽?k-鄰近的k個樣本
def?classify0(inXdataSet?labels?k):
????#數(shù)據(jù)集大小
????dataSetSize?=?dataSet.shape[0]
#計算距離
????diffMat?=?tile(inX?(dataSetSize1))-?dataSet
????sqDiffMat?=?diffMat?**?2#是冪運算,這里用的是歐氏距離
????sqDistances?=?sqDiffMat.sum(axis?=?1)
????distances?=?sqDistances?**0.5
#按距離排序
????sortedDistIndicies?=?distances.argsort()#返回數(shù)值從小到大的索引值
????#統(tǒng)計前k個點所屬的類別
????classCount={}
????#選擇距離最小的k個點
????for?i?in?range(k):
????????#根據(jù)排序結(jié)果的索引值返回靠近的前k個標簽
????????voteIlabel?=?labels[sortedDistIndicies[i]]
????????#各個標簽出現(xiàn)頻率
????????classCount[voteIlabel]?=?classCount.get(voteIlabel0)+1
????#排序
????#sortedClassCount?=?sorted(classCount.iteritems()?key?=?operator.itemgetter(1)reverse?=?True)
????sortedClassCount?=?sorted(classCount.items()?key?=?operator.itemgetter(1)reverse?=?True)#排序頻率
????#返回前k個點鐘頻率最高的類別
????return?sortedClassCount[0][0]


#?將文本記錄到轉(zhuǎn)換numPy的解析程序
def?file2matrix(filename):
????#打開文件并得到文件行數(shù)
????fr?=?open(filename)
????arrayOLines?=?fr.readlines()
????numberOfLines?=?len(arrayOLines)#讀出數(shù)據(jù)行數(shù)
????#創(chuàng)建返回的numPy矩陣
????returnMat?=?zeros((numberOfLines?3))
????classLabelVector?=?[]
????index?=0
????#解析文件數(shù)據(jù)到列表
????for?line?in?arrayOLines:
????????line?=?line.strip()#刪除空白符
????????listFormLine?=?line.split(‘\t‘)#split指定分隔符對數(shù)據(jù)切片
????????returnMat[index:]?=?listFormLine[0:3]#選取前3個元素(特征)存儲在返回矩陣中
????????classLabelVector.append(int(listFormLine[-1]))
????????#-1索引表示最后一列元素,為label信息存儲在classLabelVector
????????index?+=?1
????return?returnMat?classLabelVector

#歸一化特征值
def?autoNorm(dataSet):
????minVals?=?dataSet.min(0);#存放每列最小值,參數(shù)0使得可以從列中選取最小值,而不是當前行
????maxVals?=?dataSet.max(0);#存放每列最大值
????ranges?=?maxVals?-?minVals;
????normDataSet?=?zeros(shape(dataSet))#初始化歸一化矩陣為讀取的dataset
????m?=?dataSet.shape[0]#m保存第一行
????#特征矩陣是3*1000,minmax,range是1*3因此采用tile將變量內(nèi)容復(fù)制成輸入矩陣同大小
????normDataSet?=?dataSet?-?tile(minVals?(m1))
????normDataSet?=?normDataSet/tile(ranges(m1))
????return?normDataSet?ranges?minVals


#測試代碼
def?datingClassTest():
????hoRatio?=?0.10????#測試數(shù)據(jù)占的百分比
????datingDataMat?datingLabels?=?file2matrix(‘datingTestSet2.txt‘)
????normMat?ranges?minVals?=?autoNorm(datingDataMat)
????m?=?normMat.shape[0]
????numTestVecs?=?int(m*hoRatio)
????errorCount?=?0.0
????for?i?in?range(numTestVecs):
????????classifierResult?=?classify0(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)))
????

#輸入某人的信息,便得出對對方喜歡程度的預(yù)測值
def?classifyPer

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-08-22?16:10??kNN\
?????文件???????27067??2012-03-01?15:39??kNN\datingTestSet.txt
?????文件???????27067??2012-03-01?15:39??kNN\datingTestSet2.txt
?????文件????????5811??2017-08-22?15:46??kNN\kNN.py
?????目錄???????????0??2017-08-22?16:10??kNN\testDigits\
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_0.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_1.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_10.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_11.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_12.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_13.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_14.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_15.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_16.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_17.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_18.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_19.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_2.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_20.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_21.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_22.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_23.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_24.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_25.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_26.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_27.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_28.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_29.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_3.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_30.txt
?????文件????????1088??2010-10-07?21:35??kNN\testDigits\0_31.txt
............此處省略2855個文件信息

評論

共有 條評論

相關(guān)資源