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)

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

参数
*arraysDask 数组、DataFrame 或 Series 的序列

非 Dask 对象将直接传递给 sklearn.model_selection.train_test_split()

test_sizefloat 或 int,默认为 0.1
train_sizefloat 或 int,可选
random_stateint, RandomState 实例 或 None, 可选 (默认为 None)

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

shufflebool,默认为 None

在分割前是否打乱数据。

blockwisebool,默认为 True。

是只在块内打乱数据 (True),还是允许在块之间打乱数据 (False)。在分布式环境中,在块之间打乱数据可能会昂贵得多。

默认值为 True,仅在块内打乱数据。对于 Dask Arrays,设置 blockwise=False 也可以在块之间打乱数据。对于 Dask DataFrames,目前不支持 blockwise=False,将会引发 ValueError

convert_mixed_typesbool,默认为 False

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

返回值
splittinglist,长度为 2 * len(arrays)

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

示例

>>> 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]])