training_validation_split#

Training Validation Split 类。

模块内容#

类摘要#

TrainingValidationSplit

将训练数据分割为训练集和验证集。

目录#

class evalml.preprocessing.data_splitters.training_validation_split.TrainingValidationSplit(test_size=None, train_size=None, shuffle=False, stratify=None, random_seed=0)[源码]#

将训练数据分割为训练集和验证集。

参数
  • test_size (float) – 应包含在验证集中的数据点百分比。如果设置了 train_size,则默认为 train_size 的补数,否则为 0.25。

  • train_size (float) – 应包含在训练集中的数据点百分比。默认为 test_size 的补数。

  • shuffle (boolean) – 是否在分割前打乱数据。默认为 False。

  • stratify (list) – 以分层方式分割数据,使用此参数作为类别标签。默认为 None。

  • random_seed (int) – 用于随机采样的种子。默认为 0。

示例

>>> import numpy as np
>>> import pandas as pd
...
>>> X = pd.DataFrame([i for i in range(10)], columns=["First"])
>>> y = pd.Series([i for i in range(10)])
...
>>> tv_split = TrainingValidationSplit()
>>> split_ = next(tv_split.split(X, y))
>>> assert (split_[0] == np.array([0, 1, 2, 3, 4, 5, 6])).all()
>>> assert (split_[1] == np.array([7, 8, 9])).all()
...
...
>>> tv_split = TrainingValidationSplit(test_size=0.5)
>>> split_ = next(tv_split.split(X, y))
>>> assert (split_[0] == np.array([0, 1, 2, 3, 4])).all()
>>> assert (split_[1] == np.array([5, 6, 7, 8, 9])).all()
...
...
>>> tv_split = TrainingValidationSplit(shuffle=True)
>>> split_ = next(tv_split.split(X, y))
>>> assert (split_[0] == np.array([9, 1, 6, 7, 3, 0, 5])).all()
>>> assert (split_[1] == np.array([2, 8, 4])).all()
...
...
>>> y = pd.Series([i % 3 for i in range(10)])
>>> tv_split = TrainingValidationSplit(shuffle=True, stratify=y)
>>> split_ = next(tv_split.split(X, y))
>>> assert (split_[0] == np.array([1, 9, 3, 2, 8, 6, 7])).all()
>>> assert (split_[1] == np.array([0, 4, 5])).all()

方法

get_metadata_routing

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

get_n_splits

返回此对象的分裂次数。

is_cv

返回数据分割器是否为交叉验证数据分割器。

split

将数据分割为训练集和测试集。

get_metadata_routing(self)#

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

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

返回

routing – 封装路由信息的 MetadataRequest 对象。

返回类型

MetadataRequest

static get_n_splits()[源码]#

返回此对象的分裂次数。

返回

总是返回 1。

返回类型

int

property is_cv(self)#

返回数据分割器是否为交叉验证数据分割器。

返回

如果分割器是交叉验证数据分割器

返回类型

bool

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

将数据分割为训练集和测试集。

参数
  • X (pd.DataFrame) – 要分割的数据点的数据框

  • y (pd.Series) – 要分割的数据点的 Series

返回

将数据分割为训练集和测试集的索引

返回类型

list