RollingOriginValidator 类

sklearn.BaseCrossValidator 的子类,用于创建数据行中的时态拆分。

提供训练/测试索引以拆分训练/测试集中的数据,以进行滚动预测原点交叉验证

为数据定义滚动预测原点交叉验证折叠,用作机器学习参数调整的输入。

示例:

rollcv = RollingOriginValidator(n_splits=3) df = TimeSeriesDataSet( ... {'category': ['a']*6 + ['b']*6, ... 'date': pd.to_datetime(['2017-01-02', '2017-01-03', '2017-01-04', ... '2017-01-05', '2017-01-06', '2017-01-07']*2), ... 'values' : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ... 'origin': pd.to_datetime(['2017-01-01', '2017-01-02', '2017-01-03', ... '2017-01-04', '2017-01-05', '2017-01-06']*2) ... }, time_column_name='date', time_series_id_column_nmaes= 'category', origin_time_column_name='origin') splits = rollcv.split(df)

继承
sklearn.model_selection._split.BaseCrossValidator
RollingOriginValidator

构造函数

RollingOriginValidator(n_splits: int = 3, n_step: int = 1, max_horizon: Optional[int] = None)

参数

n_splits
int
默认值: 3

拆分数。 必须至少为 1。

n_step
int
默认值: 1

获一个 CV 折叠与下一个 CV 折叠的 origin_time 之间的周期数。 例如,如果对于每日数据 n_step = 3,则每个折叠的源时间将相隔 3 天。

max_horizon
int
默认值: None

要包含在测试数据中的将来最大周期数。

方法

get_n_splits

返回交叉验证程序中的拆分迭代数。

split

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

get_n_splits

返回交叉验证程序中的拆分迭代数。

get_n_splits(X=None, y=None, groups=None)

参数

X
object
默认值: None

始终忽略,提供此项是为了兼容。

y
object
默认值: None

始终忽略,提供此项是为了兼容。

groups
object
默认值: None

始终忽略,提供此项是为了兼容。

返回

交叉验证程序中的拆分迭代数。

返回类型

int

split

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

split(X, y=None, groups=None)

参数

X
<xref:azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet>
必需

训练数据,其中 n_samples 是样本数,n_features 是特征数。

y
默认值: None

始终忽略,提供此项是为了兼容。

groups
默认值: None

始终忽略,提供此项是为了兼容。

返回

该拆分的训练集和测试集索引的元组。

属性

max_horizon

交叉验证折叠的最大范围值。

如果为 None,则所有具有相同 origin_time 的数据将放入同一 CV 折叠。

n_step

获取一个 CV 折叠与下一个 CV 折叠的源之间的周期数。

例如,如果对于每日数据 n_step = 3,则每个折叠的源时间将相隔 3 天。