用matlab写一个随机森林预测模型
时间: 2023-08-26 19:54:44 浏览: 105
当然,下面是一个使用 MATLAB 实现随机森林预测模型的示例代码:
```matlab
% 准备数据
load fisheriris
X = meas;
Y = species;
% 划分数据集为训练集和测试集
cv = cvpartition(Y,'HoldOut',0.2);
idx = cv.test;
Xtrain = X(~idx,:);
Ytrain = Y(~idx,:);
Xtest = X(idx,:);
Ytest = Y(idx,:);
% 设置随机森林参数
numTrees = 100;
numFeatures = 2;
options = statset('UseParallel', true); % 如果你的电脑支持并行计算,可以加速训练
% 构建随机森林模型
Mdl = TreeBagger(numTrees, Xtrain, Ytrain, 'NumPredictorsToSample', numFeatures, 'Options', options);
% 预测测试集数据
Ypred = predict(Mdl, Xtest);
% 评估模型性能
accuracy = sum(strcmp(Ypred, Ytest)) / numel(Ytest);
disp(['准确率: ' num2str(accuracy)]);
```
这段代码首先加载了 Fisher's Iris 数据集,然后将数据集划分为训练集和测试集。接下来,使用 `TreeBagger` 函数构建了一个由 100 棵决策树组成的随机森林模型。通过设置参数 `NumPredictorsToSample`,我们可以指定每棵树在训练时使用的特征数量。最后,利用该模型对测试集进行预测,并计算准确率来评估模型性能。
希望这个示例对你有帮助!如果有任何问题,请随时提问。
阅读全文