在MATLAB中,可以使用统计和机器学习工具箱中的“TreeBagger”函数来实现随机森林。
以下是一个简单的示例代码,说明如何使用“TreeBagger”函数进行随机森林分类:
% 加载数据
load fisheriris
X = meas;
Y = species;
% 设置随机森林参数
numTrees = 50;
rng(1); % 设置随机种子,保证可复现性
bag = TreeBagger(numTrees, X, Y, 'OOBPrediction','On','Method','classification');
% 查看袋外误差
figure;
plot(oobError(bag));
xlabel('Number of grown trees');
ylabel('Out-of-bag classification error');
% 进行预测
Xnew = [5.0, 3.5, 1.5, 0.25];
pred = predict(bag, Xnew);
disp(['Predicted class: ' pred{1}]);
在这个例子中,我们加载了鸢尾花数据集,并将其分成输入特征向量“X”和目标向量“Y”。然后我们设置了随机森林的参数,包括树的数量、随机种子、和分类方法。接着我们通过“TreeBagger”函数训练了随机森林模型,并查看了袋外误差。最后,我们使用训练好的随机森林模型进行了一个新样本的分类预测。
需要注意的是,随机森林模型的性能和效果取决于所选的参数和数据集特征,需要进行适当的调整和评估。