econml.sklearn_extensions.model_selection.WeightedStratifiedKFold

class econml.sklearn_extensions.model_selection.WeightedStratifiedKFold(n_splits=3, n_trials=10, shuffle=False, random_state=None)[source]

Bases: econml.sklearn_extensions.model_selection.WeightedKFold

用于带权重数据的分层 K 折交叉验证器。

提供训练/测试索引,用于将数据分割成训练集/测试集。将数据集分割成大小大致相等且总权重相等的 k 个折。

默认情况下,它会尝试使用 sklearn.model_selection.StratifiedKFold 进行多次尝试来寻找一个权重平衡的 k 向分割。如果找不到这样的分割,它将回退到更严格的权重分层算法。

参数
  • n_splits (int, default 3) – 折数。必须至少为 2。

  • n_trials (int, default 10) – 在回退到另一个权重分层算法之前,尝试使用 sklearn.model_selection.StratifiedKFold 的次数。

  • shuffle (bool, optional) – 在分割成批次之前是否打乱数据。

  • random_state (int, RandomState instance, or None, default None) – 如果是 int,random_state 是随机数生成器使用的种子;如果是 RandomState 实例,random_state 是随机数生成器;如果是 None,随机数生成器是 RandomState 的实例,由 np.random 使用。当 shuffle == True 时使用。

__init__(n_splits=3, n_trials=10, shuffle=False, random_state=None)

方法

__init__([n_splits, n_trials, shuffle, ...])

get_n_splits(X, y[, groups])

返回交叉验证器中的分割迭代次数。

split(X, y[, sample_weight])

生成用于将数据分割成训练集和测试集的索引。

get_n_splits(X, y, groups=None)[source]

返回交叉验证器中的分割迭代次数。

参数
  • X (object) – 总是被忽略,仅为兼容性而存在。

  • y (object) – 总是被忽略,仅为兼容性而存在。

  • groups (object) – 总是被忽略,仅为兼容性而存在。

返回值

n_splits – 返回交叉验证器中的分割迭代次数。

返回类型

int

split(X, y, sample_weight=None)[source]

生成用于将数据分割成训练集和测试集的索引。

参数
  • X (array_like, shape (n_samples, n_features)) – 训练数据,其中 n_samples 是样本数,n_features 是特征数。

  • y (array_like, shape (n_samples,)) – 监督学习问题的目标变量。

  • sample_weight (array_like, shape (n_samples,)) – 与训练数据相关的权重。