paddlets.datasets.splitter
- class SplitterBase(skip_size: int = 0, verbose: bool = True)[源代码]
基类:
object所有Splitter的基类
- 参数
skip_size (int) – 在训练集和测试集之间需要跳过的数据,默认为0,如果使用backtest进行数据效果验证的话这里不用设置
verbose (bool) – 是否开启日志打印,默认开启
- 返回
None
- 引发
None –
- class HoldoutSplitter(test_size: Union[int, float], skip_size: int = 0, verbose: bool = True)[源代码]
基类:
SplitterBaseHoldout切割
TSDataset切分成一个特定的训练集和测试集
- 参数
test_size (int|float) – 测试集大小,可以是int或者float,作为int时代表测试集的长度,作为float时代表切分比例
skip_size (int) – 在训练集和测试集之间需要跳过的数据,默认为0
verbose (bool) – 是否开启日志打印,默认开启
- 返回
None
示例
1)举例,如果
test_size = 5, 其他参数设置为默认值,下面展示了这种情况下的切割例子:I * * * * * * * x x x x xI
*= 训练集,x= 测试集2)举例,如果
test_size = 0.5, 其他参数设置为默认值,下面展示了这种情况下的切割例子:I * * * * * * x x x x x xI
*= 训练集,x= 测试集
- class ExpandingWindowSplitter(n_splits: int = 5, test_size: Optional[int] = None, skip_size: int = 0, max_train_size: Optional[int] = None, verbose: bool = True)[源代码]
基类:
SplitterBase扩大窗口切分
以固定测试集,不断扩张训练集长度的方式切割数据
- 参数
n_splits – folds的数量,默认为5,不能为None
test_size (int|float|None) – 测试集长度,如果不设置默认为n_samples // (n_splits+1)
skip_size (int) – 在训练集和测试集之间需要跳过的数据,默认为0
max_train_size (int) – 训练集的最大长度
verbose (bool) – 是否开启日志打印,默认开启
- 返回
None
- 引发
None –
示例
1)举例,如果
n_splits = 5, 其他参数设置为默认值,训练集长度= n_samples // (n_splits+1) = 12//(5+1) = 2,下面展示了这种情况下的切割例子:I * * x x - - - - - - - -I I * * * * x x - - - - - -I I * * * * * * x x - - - -I I * * * * * * * * x x - -I I * * * * * * * * * * x xI
*= 训练集,x= 测试集2)举例,如果
n_splits = 5,test_size = 1, 其他参数设置为默认值,下面展示了这种情况下的切割例子:I * * * * * * * x - - - -I I * * * * * * * * x - - -I I * * * * * * * * * x - -I I * * * * * * * * * * x -I I * * * * * * * * * * * xI
*= 训练集,x= 测试集3)举例,如果
n_splits = 5,test_size = 1,skip_size = 1, 其他参数设置为默认值,下面展示了这种情况下的切割例子:I * * * * * * - x - - - -I I * * * * * * * - x - - -I I * * * * * * * * - x - -I I * * * * * * * * * - x -I I * * * * * * * * * * - xI
*= 训练集,x= 测试集4)举例,如果
n_splits = 5,test_size = 1,skip_size = 1,max_train_size = 5, 其他参数设置为默认值,下面展示了这种情况下的切割例子:I * * * * * - - x - - - -I I * * * * * - - - x - - -I I * * * * * - - - - x - -I I * * * * * - - - - - x -I I * * * * * - - - - - - xI
*= 训练集,x= 测试集- property get_n_splits: int
Get n_splits
- 参数
None –
- 返回
n_splits
- 返回类型
int
- 引发
None –
- class SlideWindowSplitter(train_size: int, test_size: int, step_size: Optional[int] = None, skip_size: int = 0, verbose: bool = True)[源代码]
基类:
SplitterBase滑动窗口切割
固定训练集和测试集长度,以窗口滑动的方式去切割数据
- 参数
train_size (int) – 训练集长度,不能为None
test_size (int|float|None) – 测试集的长度,不能为None
step_size – 两个切割之间的窗口滑动步长,默认等于测试集长度
skip_size (int) – 在训练集和测试集之间需要跳过的数据,默认为0
verbose (bool) – 是否开启日志打印,默认开启
- 返回
None
- 引发
ValuError –
示例
1)举例,如果
train_size = 5,test_size = 2, 其他参数设置为默认值,下面展示了这种情况下的切割例子:I * * * * * x x - - - - -I I - - * * * * * x x - - -I I - - - - * * * * * x x -I
*= 训练集,x= 测试集2)举例,如果
train_size = 5,test_size = 2,step_size = 1, 其他参数设置为默认值,下面展示了这种情况下的切割例子:I * * * * * x x - - - - -I I - * * * * * x x - - - -I I - - * * * * * x x - - -I I - - - * * * * * x x - -I I - - - - * * * * * x x -I I - - - - - * * * * * x xI
*= 训练集,x= 测试集3)举例,如果
train_size = 5,test_size = 2,skip_size = 1, 其他参数设置为默认值,下面展示了这种情况下的切割例子:I * * * * * - x x - - - -I I - - * * * * * - x x - -I I - - - - * * * * * - x xI
*= 训练集,x= 测试集