随机森林多输入多输出回归预测MATLAB代码,包括数据集
时间: 2023-08-13 16:06:39 浏览: 191
以下是一个随机森林多输入多输出回归预测的MATLAB代码示例,包括数据集:
```
% 加载数据集
load carbig
X = [Displacement Horsepower Weight];
Y = [Acceleration MPG];
% 划分训练集和测试集
cv = cvpartition(size(X,1),'HoldOut',0.2);
idxTrain = training(cv);
idxTest = test(cv);
Xtrain = X(idxTrain,:);
Ytrain = Y(idxTrain,:);
Xtest = X(idxTest,:);
Ytest = Y(idxTest,:);
% 训练随机森林回归模型
nTrees = 100;
Mdl = TreeBagger(nTrees,Xtrain,Ytrain,'Method','regression');
% 预测测试集输出
YtestPred = predict(Mdl,Xtest);
% 计算预测误差
RMSE = sqrt(mean((Ytest - YtestPred).^2))
% 绘制预测结果和真实结果的比较图
figure;
subplot(1,2,1);
plot(Ytest(:,1),'b');
hold on;
plot(YtestPred(:,1),'r');
xlabel('样本编号');
ylabel('加速度');
legend({'真实值','预测值'},'Location','best');
subplot(1,2,2);
plot(Ytest(:,2),'b');
hold on;
plot(YtestPred(:,2),'r');
xlabel('样本编号');
ylabel('油耗');
legend({'真实值','预测值'},'Location','best');
```
这个示例使用了汽车数据集中的三个输入特征(Displacement、Horsepower和Weight)来预测两个输出变量(Acceleration和MPG)。首先,数据集被划分为训练集和测试集。然后,TreeBagger函数被用来训练一个随机森林回归模型,并用测试集数据进行预测。最后,预测结果和真实结果被用来计算预测误差,并绘制比较图。
阅读全文