PredefinedSplit#
- class sklearn.model_selection.PredefinedSplit(test_fold)[源码]#
预定义拆分交叉验证器。
提供训练/测试索引,使用用户通过
test_fold参数指定的预定义方案将数据拆分为训练/测试集。在 用户指南 中阅读更多内容。
在版本 0.16 中新增。
- 参数:
- test_foldarray-like of shape (n_samples,)
条目
test_fold[i]表示样本i所属的测试集的索引。通过将test_fold[i]设置为 -1,可以排除样本i的任何测试集(即,将样本i包含在每个训练集中)。
示例
>>> import numpy as np >>> from sklearn.model_selection import PredefinedSplit >>> X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]]) >>> y = np.array([0, 0, 1, 1]) >>> test_fold = [0, 1, -1, 1] >>> ps = PredefinedSplit(test_fold) >>> ps.get_n_splits() 2 >>> print(ps) PredefinedSplit(test_fold=array([ 0, 1, -1, 1])) >>> for i, (train_index, test_index) in enumerate(ps.split()): ... print(f"Fold {i}:") ... print(f" Train: index={train_index}") ... print(f" Test: index={test_index}") Fold 0: Train: index=[1 2 3] Test: index=[0] Fold 1: Train: index=[0 2] Test: index=[1 3]
- get_metadata_routing()[源码]#
获取此对象的元数据路由。
请查阅 用户指南,了解路由机制如何工作。
- 返回:
- routingMetadataRequest
封装路由信息的
MetadataRequest。
- get_n_splits(X=None, y=None, groups=None)[源码]#
返回交叉验证器中的拆分迭代次数。
- 参数:
- Xarray-like of shape (n_samples, n_features), default=None
始终忽略,存在是为了保持 API 兼容性。
- yshape 为 (n_samples,), default=None 的 array-like
始终忽略,存在是为了保持 API 兼容性。
- groups形状为 (n_samples,) 的类数组对象,默认=None
始终忽略,存在是为了保持 API 兼容性。
- 返回:
- n_splitsint
返回交叉验证器中的拆分迭代次数。
- split(X=None, y=None, groups=None)[源码]#
生成索引以将数据拆分为训练集和测试集。
- 参数:
- Xarray-like of shape (n_samples, n_features), default=None
始终忽略,存在是为了保持 API 兼容性。
- yshape 为 (n_samples,), default=None 的 array-like
始终忽略,存在是为了保持 API 兼容性。
- groups形状为 (n_samples,) 的类数组对象,默认=None
始终忽略,存在是为了保持 API 兼容性。
- 生成:
- trainndarray
该拆分的训练集索引。
- testndarray
该拆分的测试集索引。