资源简介
整合了KNN算法与Tensorflow对手写识别系统的实现代码,以及训练与测试数据集

代码片段和文件信息
‘‘‘
Created on Sep 16 2010
kNN: k Nearest Neighbors
Input: inX: vector to compare to existing dataset (1xN)
dataSet: size m data set of known vectors (NxM)
labels: data set labels (1xM vector)
k: number of neighbors to use for comparison (should be an odd number)
Output: the most popular class label
@author: pbharrin
‘‘‘
from numpy import *
import operator
from os import listdir
def classify0(inX dataSet labels k):
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 createDataSet():
group = array([[1.01.1][1.01.0][00][00.1]])
labels = [‘A‘‘A‘‘B‘‘B‘]
return group labels
def file2matrix(filename):
love_dictionary={‘largeDoses‘:3 ‘smallDoses‘:2 ‘didntLike‘:1}
fr = open(filename)
arrayOLines = fr.readlines()
numberOfLines = len(arrayOLines) #get the number of lines in the file
returnMat = zeros((numberOfLines3)) #prepare matrix to return
classLabelVector = [] #prepare labels return
index = 0
for line in arrayOLines:
line = line.strip()
listFromLine = line.split(‘\t‘)
returnMat[index:] = listFromLine[0:3]
if(listFromLine[-1].isdigit()):
classLabelVector.append(int(listFromLine[-1]))
else:
classLabelVector.append(love_dictionary.get(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)) #element wise divide
return normDataSet ranges minVals
def datingClassTest():
hoRatio = 0.50 #hold out 10%
datingDataMatdatingLabels = file2matrix(‘datingTestSet2.txt‘) #load data setfrom file
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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-11 16:35 Ch02\
文件 300040 2017-12-11 15:34 Ch02\testY
文件 30110934 2017-12-11 15:34 Ch02\testX
文件 613237 2017-12-11 15:34 Ch02\trainY
文件 61541556 2017-12-11 15:34 Ch02\trainX
文件 5353 2017-11-26 11:10 Ch02\kNN.pyc
文件 5350 2017-11-26 09:46 Ch02\kNN.py
文件 739988 2017-09-18 14:58 Ch02\digits.zip
文件 27067 2017-09-18 14:58 Ch02\datingTestSet2.txt
文件 35725 2017-09-18 14:58 Ch02\datingTestSet.txt
文件 242 2017-09-18 14:58 Ch02\README.txt
文件 3937 2017-12-11 16:35 Ch02\tensorForDigits.py
目录 0 2011-05-04 08:38 Ch02\trainingDigits\
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_139.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_136.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_135.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_133.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_132.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_129.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_128.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_127.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_126.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_124.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_122.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_120.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_12.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_118.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_116.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_114.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_111.txt
文件 1088 2010-10-06 11:32 Ch02\trainingDigits\1_108.txt
............此处省略2875个文件信息
- 上一篇:数据恢复实验
- 下一篇:Linux 目录结构及文件基本操作
相关资源
- ppt 机器学习.ppt
- Logistic回归总结非常好的机器学习总结
- Convex Analysis and Optimization (Bertsekas
- 机器学习个人笔记完整版v5.2-A4打印版
- JUNIOR:粒子物理学中无监督机器学习
- 语料库.zip
- 中国科学技术大学 研究生课程 机器学
- 遗传算法越野小车unity5.5
- 吴恩达机器学习编程题
- shape_predictor_68_face_landmarks.dat.bz2 68个标
- 机器学习实战高清pdf,中文版+英文版
- 李宏毅-机器学习(视频2017完整)
- 机器学习深度学习 PPT
- 麻省理工:深度学习介绍PPT-1
- Wikipedia机器学习迷你电子书之四《D
- Learning From Data Yaser S. Abu-Mostafa
- 北大林宙辰:机器学习一阶算法的优
- 李宏毅深度学习ppt
- 机器学习方法R实现-用决策树、神经网
- 数字金融反欺诈白皮书
- 机器学习班PPT原件全邹博
- 机器学习实战(源码和数据样本)
- 计算广告含有目录 刘鹏版
- 数据挖掘导论完整版PPT及课后习题答
- kaggle信用卡欺诈数据
- 机器学习技法原始讲义和课程笔记
- 机器学习数学 陈希孺《 概率论与数理
- 概率论与数理统计陈希孺
- 哈尔滨工业大学深圳 机器学习 2017 考
- [概率论与数理统计]陈希孺带目录
评论
共有 条评论