使用袋式分类树进行手写识别
这个例子展示了如何使用一组袋装分类树来识别手写数字。手写数字图像首先用来训练一棵分类树,然后是200棵决策树的集合。使用混淆矩阵对每个分类器的分类性能进行比较。
有关获取数据集的信息,请参阅参考资料部分。
明确负载(“usps_all”);reduce_dim = false;双(X =重塑(数据、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灰色的
简历= cvpartition (y,“坚持”5);Xtrain = X (cv.training:);Ytrain = y (cv.training, 1);Xtest = X (cv.test:);欧美= y (cv.test, 1);
mdl_ctree = ClassificationTree.fit (Xtrain Ytrain);ypred =预测(mdl_ctree Xtest);Confmat_ctree = confusionmat(欧美,ypred);
mdl = fitensemble (Xtrain Ytrain,“包”, 200,“树”,“类型”,“分类”);Xtest ypred =预测(mdl);Confmat_bag = confusionmat(欧美,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”,真正的);标题(“混淆矩阵:袋装分类树的集合”)
Bagged分类树在训练集上的表现要比单一分类树好得多,因为混淆矩阵对角更占优势。
可视化生成使用可定制的热图。
MAT文件为图像定位在这里。