matlab划分训练集验证和测试集代码
时间: 2023-09-04 10:08:02 浏览: 51
以下是将数据集随机划分为训练集、验证集和测试集的MATLAB代码:
```matlab
% 输入数据集
data = [1 2 3 4 5 6 7 8 9 10];
% 划分比例
train_ratio = 0.6;
val_ratio = 0.2;
test_ratio = 0.2;
% 计算划分后的数据集大小
num_samples = length(data);
num_train = floor(num_samples * train_ratio); % 训练集样本数
num_val = floor(num_samples * val_ratio); % 验证集样本数
num_test = num_samples - num_train - num_val; % 测试集样本数
% 随机打乱数据集
data = data(randperm(num_samples));
% 划分数据集
train_data = data(1:num_train);
val_data = data(num_train+1:num_train+num_val);
test_data = data(num_train+num_val+1:end);
```
其中,`data`为原始数据集,`train_ratio`、`val_ratio`和`test_ratio`为训练集、验证集和测试集的划分比例,取值范围为0到1之间。代码中使用了MATLAB内置的函数`randperm`来随机打乱数据集,`floor`函数用于向下取整。最终,将划分后的数据集保存在`train_data`、`val_data`和`test_data`中。