当前位置:   article > 正文

[sklearn] KFold与StratifiedKFold用法_stratifiedkfold遇到一类只有一个样本

stratifiedkfold遇到一类只有一个样本

1. 概览

KFold和StratifiedKFold的作用都是用于配合交叉验证的需求,将数据分割成训练集和测试集。

2. 区别

KFold随机分割数据,不会考虑数据的分布情况。
StratifiedKFold会根据原始数据的分布情况,分割出同分布的数据。

3. 实验

3.1 代码

from sklearn.model_selection import KFold
from sklearn.model_selection import StratifiedKFold
import numpy as np

X = np.array([
    [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],
    [81,82,83,84]
])

y = np.array([1,1,0,0,0,1,1,0])

KFold = KFold(n_splits=2, shuffle=True)
sKFold = StratifiedKFold(n_splits=2, shuffle=True)

print("===KFold split===")
for train, test in KFold.split(X, y):
    print('train index:\n',train)
    print('train X value:\n',X[train])
    print('train y value:\n',y[train])
    print('test i
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/629119
推荐阅读
相关标签
  

闽ICP备14008679号