用决策树方法对手写数字的识别.doc_第1页
用决策树方法对手写数字的识别.doc_第2页
用决策树方法对手写数字的识别.doc_第3页
用决策树方法对手写数字的识别.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

决策树的matlab实现(运用在手写数字的0,1识别)1单个决策树的实现。一、载入实验数据%载入实验的原始数据images = loadMNISTImages(train-images.idx3-ubyte); labels = loadMNISTLabels(train-labels.idx1-ubyte);images_0=images(:,labels=0);images_1=images(:,labels=1); Images_te = loadMNISTImages(t10k-images.idx3-ubyte);Labels_te = loadMNISTLabels(t10k-labels.idx1-ubyte); Images_te_0=Images_te(:,Labels_te=0);Images_te_1=Images_te(:,Labels_te=1);%对原始数据进行处理X=images_0 images_1; %将0和1的训练样本拼接成新的矩阵。注意此时时是每一行代表一个样本。 Y=zeros(5923,1) ones(6724,1); %生成训练样本相应的类别标签,是一个列向量。每一个元素代表相应 样本所属于的类别。 Images_te_0=Images_te_0; %测试样本的数字0,每一行代表一个样本。Images_te_1=Images_te_1; % 测试样本的数字1,每一行代表一个样本.二、构建决策树t=treefit(X,Y);% X是训练样本,一定注意是每一行代表一个样本数据。Y是训练样本% 所对应的类别标签,仍旧是一个列向量。t就是根据训练样本构建的一个决策树。三、用决策树对测试样本进行分类 result0=treeval(t,Images_te_0);% 对测试样本手写数字0进行识别。result0为一个列向量,每一元素表示对应样本被识别为的类。%treeval函数的格式为treeval(t,X),其中,t为构建的决策树,X为测试样本。一定要注意X的每一行表示的是一个样本。 result1=treeval(t,Images_te_1); %对测试样本数字1进行分类。四、错误率分析error0=find(result=0);error1=find(result=1); %找出被识别错误的数字0和1的索引。rate0=size(error0,1)/980;rate1=size(error1,1)/980; %分别计算错误率。实验结果为rate1= 0.007048458149780rate0= 0.004081632653061 可以看到正确几乎接近100%五、显示决策树treedisp(t);或者是view(t);如下: 六、对决策树进行剪枝 在对决策树进行剪枝之前,我们需要计算交叉验证的最小错误率水平。具体过程为:我们计算不同k值下的k-fold cv ,找出错误率最小的那个k值。在matlab上的实现是用我自己编写的trcv函数做的。如下:k=trcv(10,X,Y); 找到了k,我们就按照这个k值来对我们建立的决策树进行剪枝。用函数prune实现。如下:tree_new=prune(t,level,k);实现结果为:k=4; view(tree_new)的结果如下 我们发现经过剪枝,决策树变得简单许多。下面我们可以用这棵新树对测试样本进行测试。在此就不再做了。2用随机森林来实现我自己编写了一个随机遇森林函数rf,用它可以直接实现。实现过程如下: labels0_te=zeros(980,1);%载入测试样本的标签w,err=rf(X,Y,Images

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论