matlab划分训练集验证和测试集代码
时间: 2023-09-04 22:09:33 浏览: 153
以下是 Matlab 中随机划分训练集、验证集和测试集的示例代码:
```matlab
data = load('data.mat');
X = data.X; % 特征数据
y = data.y; % 目标变量数据
% 设置随机种子,确保每次运行生成的随机数相同
rng(1)
% 划分训练和测试集
[trainInd,testInd] = dividerand(size(X,2),0.7,0.3);
X_train = X(:,trainInd); % 训练集特征数据
y_train = y(trainInd); % 训练集目标变量数据
X_test = X(:,testInd); % 测试集特征数据
y_test = y(testInd); % 测试集目标变量数据
% 划分训练和验证集
[trainInd,valInd,testInd] = dividerand(size(X,2),0.6,0.2,0.2);
X_train = X(:,trainInd); % 训练集特征数据
y_train = y(trainInd); % 训练集目标变量数据
X_val = X(:,valInd); % 验证集特征数据
y_val = y(valInd); % 验证集目标变量数据
X_test = X(:,testInd); % 测试集特征数据
y_test = y(testInd); % 测试集目标变量数据
```
这段代码将数据集分为训练集、验证集和测试集,并做了随机划分。其中,`size(X,2)` 表示数据集大小,`0.7` 表示训练集占数据集的比例,`0.3` 表示测试集占数据集的比例;`0.6` 表示训练集占数据集的比例,`0.2` 表示验证集占数据集的比例,`0.2` 表示测试集占数据集的比例。可以根据实际情况修改这些比例。
阅读全文