dask_ml.model_selection.train_test_split

dask_ml.model_selection.train_test_split

dask_ml.model_selection.train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=None, blockwise=True, convert_mixed_types=False, **options)[源代码]

将数组随机分割为训练和测试矩阵。

参数
*数组Dask 数组、数据框或序列的序列

非 dask 对象将被传递给 sklearn.model_selection.train_test_split()

test_sizefloat 或 int, 默认值 0.1
train_size浮点数或整数,可选
random_stateint, RandomState 实例或 None, 可选 (默认=None)

如果为整数,random_state 是随机数生成器使用的种子;如果为 RandomState 实例,random_state 是随机数生成器;如果为 None,随机数生成器是 np.random 使用的 RandomState 实例。

洗牌bool, 默认 None

在分割数据之前是否打乱数据。

分块bool, 默认 True。

是否仅在块内打乱数据(True),或允许数据在块之间打乱(False)。在块之间打乱数据可能会更加昂贵,尤其是在分布式环境中。

默认值为 True,数据仅在块内被打乱。对于 Dask 数组,设置 blockwise=False 以在块之间打乱数据。对于 Dask 数据帧,blockwise=False 目前不受支持,将引发 ValueError

convert_mixed_typesbool, 默认 False

当数组包含混合类型时,是否将 dask DataFrame 和 Series 转换为 dask 数组。这会导致一些计算来确定每个块的长度。

返回
分割列表, 长度=2 * len(数组)

包含输入数据的训练-测试分割列表

示例

>>> import dask.array as da
>>> from dask_ml.datasets import make_regression
>>> X, y = make_regression(n_samples=125, n_features=4, chunks=50,
...                        random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(X, y,
...                                                     random_state=0)
>>> X_train
dask.array<concatenate, shape=(113, 4), dtype=float64, chunksize=(45, 4)>
>>> X_train.compute()[:2]
array([[ 0.12372191,  0.58222459,  0.92950511, -2.09460307],
       [ 0.99439439, -0.70972797, -0.27567053,  1.73887268]])