matlab 数据集分割
时间: 2023-10-19 13:17:06 浏览: 158
数据集拆分/分割MATLAB程序
5星 · 资源好评率100%
在 MATLAB 中,可以使用 `cvpartition` 函数将数据集分割为训练集和测试集。该函数可以根据不同的方法进行数据集分割,如随机分割、分层分割等。
以下是一个示例代码,将数据集按照 80% 的比例分割为训练集和 20% 的比例分割为测试集:
```matlab
load fisheriris; % 加载鸢尾花数据集
X = meas; % 特征数据
Y = species; % 标签数据
% 随机分割数据集
c = cvpartition(Y,'HoldOut',0.2);
trainIdx = c.training;
testIdx = c.test;
% 获取训练集和测试集
Xtrain = X(trainIdx,:);
Ytrain = Y(trainIdx,:);
Xtest = X(testIdx,:);
Ytest = Y(testIdx,:);
```
在上述代码中,`cvpartition` 函数使用 `'HoldOut'` 方法进行数据集分割,其中参数 `0.2` 表示将数据集按照 80% 的比例分割为训练集,20% 的比例分割为测试集。训练集和测试集的索引分别存储在 `trainIdx` 和 `testIdx` 变量中。最后,通过这些索引,可以获取训练集和测试集的特征数据和标签数据。
阅读全文