资源简介
打开网站链接http://archive.ics.uci.edu/ml/,点击链接 view all data sets,打开所有数据页面,点击Instances,按照研究实例由多到少排序,选择任务为Classification的数据集,最后我们小组选择了“Letter Recognition Data Set”字母识别数据集。
二、数据分析
字母识别数据集每个对象有16个特征,共包括20000个数据对象,每个特征的取值都为整数,于1991年1月1日提供,主要用来进行数据分类试验。分类的目标是识别由黑白像素组成矩形的图像,代表26英文字母哪个字母。这些图像基于20种不同字体,并经过随机变形生成的20000个模拟实例。每个实例转化成16个原始数字特征,其中10000用于训练,另外10000个用于字母预测。因为每个样本都有明确的类标识,所以这个一个监督学习过程。

代码片段和文件信息
from numpy import *
import string
#parse files function every data is a integer
def loadDataSet(filename):
numFeat = len(open(filename).readline().split(‘‘))
dataMat = []
labelMat=[]
fr = open(filename)
for line in fr.readlines():
lineArr= []
curLine = line.strip(‘\n‘).split(‘‘)
for i in range(1 numFeat):
lineArr.append(int(curLine[i]))
dataMat.append(lineArr)
labelMat.append(curLine[0])
fr.close()
return dataMat labelMat
‘‘‘‘‘
purpose: data classify by compare to threshold
‘‘‘
def stumpClassify(dataMatrix dimen threshVal threshIneq):
retArray = ones((shape(dataMatrix)[0]1))
if threshIneq == ‘lt‘:
retArray[dataMatrix[:dimen] else:
retArray[dataMatrix[:dimen] return retArray
‘‘‘‘‘
purpose: single level decision tree create function(weak classify device)
input: dataArr: dataSet classLabels:class label D:data weight
output: bestStump: single level decision tree having min error rate minError: min Error rate
bestClassEst: estimate class labels
‘‘‘
def buildStump(dataArrclassLabelsD):
dataMatrix = mat(dataArr); labelMat = mat(classLabels).T
mn = shape(dataMatrix)
numSteps = 10.0
# define a empty dictionary for store Dthe better single level tree info
bestStump = {}
bestClasEst = mat(zeros((m1)))
minError = inf #init error sum to +infinity
for i in range(n):#loop over all dimensions
rangeMin = dataMatrix[:i].min()
rangeMax = dataMatrix[:i].max()
stepSize = (rangeMax-rangeMin)/numSteps
for j in range(-1int(numSteps)+1):#loop over all range in current dimension
for inequal in [‘lt‘ ‘gt‘]: #go over less than and greater than
threshVal = (rangeMin + float(j) * stepSize)
predictedVals = stumpClassify(dataMatrixithreshValinequal)#call stump classify with i j lessThan
errArr = mat(ones((m1))) # create error array
errArr[predictedVals == labelMat] = 0
weightedError = D.T*errArr #calc total error multiplied by D
#print “split: dim %d thresh %.2f thresh ineqal: %s the weighted error is %.3f“ % (i threshVal inequal weightedError)
if weightedError < minError: #if current error is smaller than before then save it into the beststump dictionary
minError = weightedError
bestClasEst = predictedVals.copy()
bestStump[‘dim‘] = i
bestStump[‘thresh‘] = threshVal
bestStump[‘ineq‘] = inequal
return bestStumpminErrorbestClasEst
‘‘‘‘‘
purpose:whole AdaBoost algorithm
input parameter:
dataArr:data set
classLabels:class labels
numIt:die dai number (only one parameter needed user to specified)
output parameter:
weakClassArr:seve
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 356180 2016-11-24 20:38 traindata.txt
文件 7150 2016-11-26 22:02 TreeAdaBoost.py
文件 36042 2017-03-18 09:31 文档.docx
文件 356383 2016-11-24 20:39 testdata.txt
----------- --------- ---------- ----- ----
755755 4
相关资源
- Python-BDD100K大规模多样化驾驶视频数据
- Instant Pygame for Python Game Development How
- Biopython Tutorial
- Think Python 2nd
- 一个小小的表白程序(python)
- Python课堂笔记(高淇400集第一季)
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
评论
共有 条评论