econml.sklearn_extensions.model_selection.WeightedKFold

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

基类: object

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

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

默认情况下,会尝试多次(由 n_trials 控制)使用 sklearn.model_selection.KFold 来寻找权重平衡的 K 向分割。如果找不到这样的分割,它将退回到更严格的权重分层算法。

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

  • n_trials (int, 默认 10) – 在退回到另一种权重分层算法之前,尝试 sklearn.model_selection.KFold 的次数。

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

  • random_state (int, RandomState 实例, 或 None, 默认 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)[source]

方法

__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,)) – 与训练数据相关的权重。