机器学习与MATLAB

手写识别使用袋装分类树

这个例子展示了如何使用一个识别笔迹袋装分类树。手写数字的图像首先被用来训练一个分类树,然后一个200年的决策树。的分类性能比使用混淆矩阵。

负荷训练和测试数据

的信息,请参见参考资料部分获取数据集。
明确负载(“usps_all”);reduce_dim = false;双(X =重塑(数据、256、11000)');ylabel = [1:9 0];y =重塑(repmat (ylabel 1100 1), 11000年,1);clearvars数据

可视化六个随机手写样本

图(1)2 = 1:6次要情节(2、3、2)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”,真正的);标题(混淆矩阵:合奏袋装分类树的)

袋装分类树执行比单个分类树在训练集由于混淆矩阵是对角更加占优势。

可视化生成使用可定制的热图

参考和许可

垫的图像文件在这里