例子
clc; clear all; close all;
rng(6,'twister')
% 载入数据,花的数据
load fisheriris
% 随机划分训练数据和验证数据
index = logical(randi([0 1],1,150));
% 训练数据
Xtt = meas(index,:);
Ytt = species(index,:);
b = TreeBagger(50,Xtt,Ytt,'OOBPredictorImportance','On');
% 模型性能
figure
plot(oobError(b))
xlabel('Number of Grown Trees')
ylabel('Out-of-Bag Classification Error')
b.DefaultYfit = '';
figure
plot(oobError(b))
xlabel('Number of Grown Trees')
ylabel('Out-of-Bag Error Excluding In-Bag Observations')
figure
bar(b.OOBPermutedPredictorDeltaError)
xlabel('Feature Index')
ylabel('Out-of-Bag Feature Importance')
% 利用模型进行预测
Xtp = meas(~index,:);
Ytp = species(~index,:);
Ypp = predict(b, Xtp);
% 验证模型分类精度
figure
cm = confusionchart(Ytp,Ypp);
cm.NormalizedValues
cm.Title = 'Iris Flower Classification';
cm.RowSummary = 'row-normalized';
cm.ColumnSummary = 'column-normalized';
混淆矩阵,验证精度