training_validation_split#
Training Validation Split 类。
模块内容#
类摘要#
将训练数据分割为训练集和验证集。 |
目录#
- 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(self)#
获取此对象的元数据路由。
请查阅用户指南了解路由机制的工作原理。
- 返回
routing – 封装路由信息的
MetadataRequest
对象。- 返回类型
MetadataRequest
- property is_cv(self)#
返回数据分割器是否为交叉验证数据分割器。
- 返回
如果分割器是交叉验证数据分割器
- 返回类型
bool