StratifiedKFold
时间: 2023-11-27 07:04:25 浏览: 79
【Python学习】 – sklearn学习 – 数据集分割方法 – 随机划分与K折交叉划分与StratifiedKFold与StratifiedShuffleSplit
StratifiedKFold是一种交叉验证的方法,在KFold的基础上加入了分层抽样的思想。它可以保证训练集和测试集的数据分布相同,因此在算法上更加可靠。使用StratifiedKFold时,需要同时输入数据和标签,以便统一训练集和测试集的分布。StratifiedKFold会将数据集分成k等分,然后依次选取其中一份作为测试集,剩下的k-1份作为训练集。
下面是一个示例代码,演示了如何使用StratifiedKFold:
```python
from sklearn.model_selection import StratifiedKFold
import numpy as np
X = np.array([[1,2,3,4], [11,12,13,14], [21,22,23,24], [31,32,33,34], [41,42,43,44], [51,52,53,54], [61,62,63,64], [71,72,73,74]])
y = np.array([1,1,0,0,1,1,0,0])
sfolder = StratifiedKFold(n_splits=4, random_state=0)
for train, test in sfolder.split(X, y):
print('Train: %s | Test: %s' % (train, test))
```
阅读全文