预定义分割#

class sklearn.model_selection.PredefinedSplit(test_fold)[source]#

预定义分割交叉验证器。

使用用户使用test_fold参数指定的预定义方案,提供训练/测试索引以将数据分割成训练/测试集。

用户指南中了解更多信息。

在0.16版本中添加。

参数:
test_fold形状为(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()[source]#

获取此对象的元数据路由。

请查看用户指南,了解路由机制的工作原理。

返回:
routingMetadataRequest

一个MetadataRequest 封装了路由信息。

get_n_splits(X=None, y=None, groups=None)[源代码]#

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

参数:
X对象

始终被忽略,为了兼容性而存在。

y对象

始终被忽略,为了兼容性而存在。

groups对象

始终被忽略,为了兼容性而存在。

返回:
n_splits整数

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

split(X=None, y=None, groups=None)[源代码]#

生成索引,将数据拆分为训练集和测试集。

参数:
X对象

始终被忽略,为了兼容性而存在。

y对象

始终被忽略,为了兼容性而存在。

groups对象

始终被忽略,为了兼容性而存在。

生成:
trainndarray

该拆分的训练集索引。

testndarray

该拆分的测试集索引。