train_test_split 分训练集和验证集 5fold
时间: 2023-11-07 07:05:15 浏览: 84
划分数据集为测试集、验证集、训练集
train_test_split函数可以将数据集划分为训练集和验证集。在这个例子中,通过设置test_size参数为0.2,即将20%的数据划分为验证集,剩余的80%数据作为训练集。使用train_test_split函数时,还可以通过设置random_state参数来控制随机划分的过程,以确保每次运行时划分的结果一致。
若要实现5-fold交叉验证的划分,可以使用sklearn.model_selection中的StratifiedKFold函数。该函数可以将数据集划分为指定数量的子集,并保持每个子集中类别分布的相对均衡性。以下是一个使用StratifiedKFold进行5-fold交叉验证划分的示例代码:
```
from sklearn.model_selection import StratifiedKFold
skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=0)
for train_index, test_index in skf.split(X, y):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
```
阅读全文