理解 sklearn.model_selection.KFold

在skearn0.18版本中存在sklearn.cross_validation.KFold,现在基本被sklearn.model_selection.KFold代替

思路:将训练/测试数据集划分n_splits个互斥子集,每次用其中一个子集当作验证集,剩下的n_splits-1个作为训练集,进行n_splits次训练和测试,得到n_splits个结果

sklearn.model_selection.KFold, K折交叉验证:kf=sklearn.model_selection.KFold(n_splits=n, shuffle=False, random_state=None) 思路:将训练/测试数据集划分n_splits

  • n: 元素个数
  • n_splits: 几折
  • shuffle: 是否打乱排序
  • random_state:如何随机化(默认值None,采用np.random)
  • 返回值类型:list

在这里插入图片描述

图中便是5折,使用for循环可以输出5次,蓝色的是train,橙色的是test

常常在KFold的for循环中使用enumerate函数,便于看清这是第几次for循环

属性:
get_n_splits(X=None, y=None, groups=None):获取参数n_splits的值

split(X, y=None, groups=None):将数据集划分成训练集和测试集,返回索引生成器

猜你喜欢

转载自blog.csdn.net/qq_43283527/article/details/86146076