matlab将数据集拆分为训练集和测试集
时间: 2023-09-06 18:10:16 浏览: 683
用pandas划分数据集实现训练集和测试集
5星 · 资源好评率100%
在 MATLAB 中,可以使用 `cvpartition` 函数将数据集随机地分成训练集和测试集。以下是一个例子:
```matlab
load fisheriris; % 加载鸢尾花数据集
X = meas; % 特征矩阵
Y = species; % 标签矩阵
% 将数据集分成训练集和测试集
c = cvpartition(Y,'HoldOut',0.3); % 30% 的数据作为测试集
trainIdx = training(c); % 训练集的索引
testIdx = test(c); % 测试集的索引
% 使用索引获取训练集和测试集
Xtrain = X(trainIdx,:);
Ytrain = Y(trainIdx,:);
Xtest = X(testIdx,:);
Ytest = Y(testIdx,:);
```
在上面的例子中,通过将 `Y` 向量传递给 `cvpartition` 函数,将数据集随机地分成训练集和测试集,其中测试集包含 30% 的数据。然后,可以使用 `trainIdx` 和 `testIdx` 索引获取训练集和测试集。
阅读全文