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