基于袋装分类树的笔迹识别
这个例子展示了如何使用袋装分类树的集合来识别手写数字。首先用手写数字图像训练单一的分类树,然后训练200棵决策树的集合。使用混淆矩阵对每一个分类性能进行比较。
有关获取数据集的信息,请参见参考资料部分。
明确负载(“usps_all”);Reduce_dim = false;X = double(重塑(data,256,11000)');Ylabel = [1:9 0];Y =重整(repmat(ylabel,1100,1),11000,1);clearvars数据
图(1)为Ii = 1:6 subplot(2,3, Ii) rand_num = randperm(11000,1);图像(重塑(X (rand_num:), 16日16))标题((y (rand_num)),“字形大小”, 20)轴从结束colormap灰色的
CV = cvpartition(y,“坚持”5);Xtrain = X(cv.training,:);Ytrain = y(cv.training,1);Xtest = X(cv.test,:);Ytest = y(cv.test,1);
mdl_ctree = ClassificationTree.fit(Xtrain,Ytrain);ypred = predict(mdl_ctree,Xtest);Confmat_ctree = confemat (Ytest,ypred);
mdl = fitensemble(Xtrain,Ytrain,“包”, 200,“树”,“类型”,“分类”);ypred = predict(mdl,Xtest);Confmat_bag = confemat (Ytest,ypred);
图,热图(Confmat_ctree, 0:9, 0:9, 1,“Colormap”,“红色”,“ShowAllTicks”, 1“UseLogColorMap”,真的,“Colorbar”,真正的);标题(“混淆矩阵:单一分类树”(Confmat_bag, 0:9, 0:9, 1,“Colormap”,“红色”,“ShowAllTicks”, 1“UseLogColorMap”,真的,“Colorbar”,真正的);标题(“混淆矩阵:袋装分类树集合”)
袋装分类树在训练集上的表现比单一分类树好得多,因为混淆矩阵更占优势的对角线。
使用可定制的热图.
MAT文件为图像定位在这里.