sklearn.model_selection.KFold

类 sklearn.model_selection.KFold(n_splits=5, shuffle=False, random_state=None)
K折交叉验证器

提供训练/测试索引以将数据拆分为训练/测试集。将数据集拆分为k个连续的折叠(默认情况下不进行混洗),然后将每个折叠用作一次验证,而剩下的k-1个折叠形成训练集。

参数:

  • n_splits:表示折叠成几份。整型,默认为5,至少为2。
  • shuffle:表示在拆分成批次之前是否对数据进行混洗。布尔值,可选。默认False。
  • random_state:整型,RandomState实例或None,可选,默认None。

如果为整型,则 random_state 是随机数生成器使用的种子;
如果是 RandomState 实例,则 random_state 是随机数生成器;
如果为 None,则随机数生成器是所使用的 RandomState 实例 np.random,仅当 shuffle 为 True 时使用。
如果 shuffle 为 False,则应将其保留为 None。


例子:

>>> import numpy as np
>>> from sklearn.model_selection import KFold
>>> X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
>>> y = np.array([1, 2, 3, 4])
>>> kf = KFold(n_splits=2)
>>> kf.get_n_splits(X)
2
>>> print(kf)
KFold(n_splits=2, random_state=None, shuffle=False)
>>> 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]
TRAIN: [2 3] TEST: [0 1]
TRAIN: [0 1] TEST: [2 3]

方法:

  • get_n_splits:返回交叉验证器中的拆分迭代次数。
  • split:生成索引以将数据分为训练和测试集。

__ init __(self, n_splits=5, shuffle=False, random_state=None)


get_n_splits(self, X=None, y=None, groups=None)
参数:
  • X:对象
    始终被忽略,出于兼容性考虑而存在。
  • y:对象
    始终被忽略,出于兼容性考虑而存在。
  • groups:对象
    始终被忽略,出于兼容性考虑而存在。
返回值:

n_splits:整型,返回交叉验证器中拆分迭代的次数。


split(self, X, y=None, groups=None)
参数:
  • X:array-like, shape (n_samples, n_features)
    训练数据,其中n_samples是样本数,n_​​features是要素数。

  • y:array-like, shape (n_samples,)
    监督学习问题的目标变量。

  • groups:array-like, with shape (n_samples,) 可选
    将数据集拆分为训练/测试集时使用的样本的标签分组。

Yields:
  • train:ndarray
    拆分的训练集索引。

  • test:ndarray
    拆分的测试集索引。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值