包括训练集、测试集和验证集的随机森林回归模型matlab代码
时间: 2024-01-06 22:23:26 浏览: 96
以下是一个随机森林回归模型的 MATLAB 代码示例:
加载数据集:
```matlab
load('data.mat'); % 加载数据集
X = data(:,1:end-1); % 特征矩阵
y = data(:,end); % 标签向量
```
划分训练集和测试集:
```matlab
cv = cvpartition(size(X,1),'HoldOut',0.3); % 划分训练集和测试集,测试集占 30%
idx = cv.test;
Xtrain = X(~idx,:);
ytrain = y(~idx,:);
Xtest = X(idx,:);
ytest = y(idx,:);
```
训练随机森林回归模型:
```matlab
b = TreeBagger(50,Xtrain,ytrain,'Method','regression'); % 训练随机森林回归模型
```
预测测试集:
```matlab
ypred = predict(b,Xtest); % 预测测试集
```
评估模型性能:
```matlab
rmse = sqrt(mean((ytest - str2double(ypred)).^2)); % 计算均方根误差
r2 = corr(ytest,str2double(ypred))^2; % 计算决定系数
```
注意事项:
1. 数据集需要按照特征矩阵和标签向量的格式进行加载;
2. 划分训练集和测试集时,需要使用 MATLAB 自带的 cvpartition 函数;
3. 训练随机森林回归模型时,需要指定树的数量和回归方法;
4. 预测测试集时,输出为字符串类型,需要转换为数值类型;
5. 评估模型性能时,使用均方根误差和决定系数作为指标。
阅读全文