资源简介
机器学习实战之K邻近算法
代码片段和文件信息
from numpy import *
import operator
from os import listdir
import matplotlib.pyplot as plt
def createDataSet():
group = array([[1.01.1][1.01.0][00][00.1]])
labels = [‘A‘‘A‘‘B‘‘B‘]
return grouplabels
def classify0(inXdataSetlabelsk):
dataSetSize = dataSet.shape[0]
diffMat = tile(inX (dataSetSize1))-dataSet
sqDiffMat = diffMat**2
sqDistances = sqDiffMat.sum(axis=1)
distances = sqDistances**0.5
sortedDistIndicies = distances.argsort()
classCount={}
for i in range(k):
voteIlabel = labels[sortedDistIndicies[i]]
classCount[voteIlabel] = classCount.get(voteIlabel0)+1
sortedClassCount = sorted(classCount.iteritems()key=operator.itemgetter(1)reverse=True)
return sortedClassCount[0][0]
def file2matrix(filename):
fr = open(filename)
arrayOLines = fr.readlines()
numberOfLines = len(arrayOLines)
returnMat = zeros((numberOfLines3))
classLabelVector = []
index = 0
for line in arrayOLines:
line = line.strip()
listFromLine = line.split(‘\t‘)
returnMat[index:] = listFromLine[0:3]
classLabelVector.append(int(listFromLine[-1]))
index += 1
return returnMatclassLabelVector
def autoNorm(dataSet):
minVals = dataSet.min(0)
maxVals = dataSet.max(0)
ranges =maxVals - minVals
normDataSet = zeros(shape(dataSet))
m = dataSet.shape[0]
normDataSet = dataSet - tile(minVals (m1))
normDataSet = normDataSet/tile(ranges (m1))
return normDataSetrangesminVals
def datingClassTest():
hoRatio = 0.10
datingDataMatdatingLabels = file2matrix(‘datingTestSet2.txt‘)
normMatrangesminVals = 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:%dthe 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 video games?“))
ffMiles = float(raw_input(“frequent flier miles earned per year?“))
iceCream = float(raw_input(“liters of icecream consumed per year?“))
datingDataMatdatingLabels = file2matrix(‘datingTestSet2.txt‘)
normMatrangesminVals = autoNorm(datingDataMat)
inArr = array([ffMilespercentTatsiceCream])
classifierResult = classify0((inArr-minVals)/ranges normMat datingLabels 3)
print “You will probably like this person:“resultList[classifierResult-1]
def img2vector(filename):
returnVect = zeros((11024))
fr = open(filename)
for i in range(32):
lineStr = fr.readline()
for j in range(32):
returnVect[032*i+j] = int(lineStr[j])
return returnVect
def handwritingClassTest():
hwLabels = []
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-27 20:58 kNN\
文件 27067 2012-03-01 15:39 kNN\datingTestSet2.txt
文件 739988 2011-05-04 15:43 kNN\digits.zip
文件 4297 2017-04-10 17:05 kNN\kNN.py
文件 4765 2017-02-27 20:58 kNN\kNN.pyc
文件 27136 2016-06-16 04:21 kNN\python.exe
目录 0 2011-05-05 07:37 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
............此处省略2860个文件信息
相关资源
- 文本分类器,KNNSVM贝叶斯等都有
- R语言分类(SVM KNN LDA等)与回归代码
- KNN算法与Tensorflow分别实现的手写识别
- 一种基于层次分析法的改进KNN算法
- 最邻近算法KNN识别字符
- opencv 的knn的训练数据
- stm32单片机knn算法手写数字识别
- BOWBag of words,词袋模型代码实现
- 数码管数别字识--KNN算法
- KNN疾病预测算法Demo
- PCA+KNN人脸表情识别
- KNN实现手写数字识别
- datingTestSet2数据集
- 用于knn分类的CIFAR-10数据集
- KNN算法实现手写数字识别的三种方法
- 手写体数字识别系统实现
- minst数据集机器学习练习
- 用KNN算法诊断乳腺癌
- KNN算法诊断乳腺癌
- KNN实现代码+数据可视化+决策边界
- knn手写数字识别training及test数据集
- Knn测试数据
- KNN算法预测鸢尾花的种类,源码以及
- kNN分类算法数据集
- 多标记分类器MLKNN
- KNN识别LED数码管
- KNN详细算法以及数据集
- knn算法识别手写体--mnist数据集
- KNN mapreduce实现
- KNN算法识别手写数字系统使用的样本
评论
共有 条评论