matlab中随机森林
时间: 2023-11-03 19:02:59 浏览: 95
随机森林(Random Forest)是一种常用的集成学习方法,可以用于分类和回归等任务。在 MATLAB 中,可以使用 TreeBagger 函数来构建随机森林模型。
下面是一个简单的示例,展示如何使用 TreeBagger 函数构建随机森林模型并进行分类预测:
```matlab
% 加载数据
load fisheriris
X = meas(:,1:2);
Y = species;
% 构建随机森林模型
numTrees = 100;
Mdl = TreeBagger(numTrees,X,Y,'OOBPrediction','On');
% 预测新样本的类别
xtest = [5 3];
[label,score] = predict(Mdl,xtest)
% 可视化决策边界
h = figure;
gscatter(X(:,1),X(:,2),Y);
hold on;
h2 = plot(Mdl.Trees{1},'Fill','On','MarkerSize',2);
title('Decision Boundary');
legend('setosa','versicolor','virginica','Location','Best');
```
在上面的示例中,我们加载了鸢尾花数据集,选取了前两个特征作为输入变量 X,物种类型作为输出变量 Y。然后使用 TreeBagger 函数构建了一个包含 100 个决策树的随机森林模型 Mdl,其中 'OOBPrediction','On' 表示开启了包外估计功能。接着,我们使用 predict 函数对新样本进行分类预测,得到了预测结果 label 和置信度 score。最后,我们使用 plot 函数将随机森林的决策边界可视化出来,结果如下图所示:
![image](https://user-images.githubusercontent.com/5803001/137145825-865e7d2d-8f81-4a37-9a94-7e1d8f3c89a3.png)
注意,这只是一个简单的示例,实际应用中需要根据具体问题进行参数调整和模型优化。
阅读全文