当前位置:   article > 正文

python sklearn中KFold与StratifiedKFold_from sklearn import stratifiedkfold

from sklearn import stratifiedkfold

首先KFold函数,其实就是k折交叉验证。k = n_splits为多少,则所得测试集验证集就有几组。k也就是按照标签把数据集几等分。

import numpy as np
from sklearn.model_selection import KFold,StratifiedKFold
X = np.array([[1, 2], [3, 4], [1, 2], [3, 4],[5,9],[1,5],[3,9],[5,8],[1,1],[1,4]])
y = np.array([0, 1, 1, 1, 0, 0, 1, 0, 0, 0])
kf = KFold(n_splits=2 ,random_state=2020)
#做split时只需传入数据,不需要传入标签
for train_index, test_index in kf.split(X):
    print("TRAIN:", train_index, "TEST:", test_index)
    X_train, X_test = X[train_index], X[test_index]
    y_train, y_test = y[train_index], y[test_index]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

StratifiedKFold函数
同KFold,它的n_splits也是按照标签集均分,此处注意他是类似于分层抽样,是把每个标签都抽出来相等的个数。比如抽了一个1之后,开始抽0。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/954020
推荐阅读
相关标签
  

闽ICP备14008679号