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])生成用于将数据分割成训练集和测试集的索引。