当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn ShuffleSplit用法及代码示例


本文简要介绍python语言中 sklearn.model_selection.ShuffleSplit 的用法。

用法:

class sklearn.model_selection.ShuffleSplit(n_splits=10, *, test_size=None, train_size=None, random_state=None)

随机排列cross-validator

产生将数据拆分为训练集和测试集的索引。

注意:与其他交叉验证策略相反,随机拆分并不能保证所有折叠都不同,尽管这对于相当大的数据集仍然很有可能。

在用户指南中阅读更多信息。

参数

n_splits整数,默认=10

重新洗牌和拆分迭代的次数。

test_size浮点数或整数,默认=无

如果是浮点数,则应介于 0.0 和 1.0 之间,表示要包含在测试拆分中的数据集的比例。如果是int,表示测试样本的绝对数量。如果为 None,则将该值设置为火车大小的补码。如果train_size 也是None,它将被设置为0.1。

train_size浮点数或整数,默认=无

如果是浮点数,则应介于 0.0 和 1.0 之间,并表示要包含在训练拆分中的数据集的比例。如果是int,表示训练样本的绝对数量。如果没有,该值将自动设置为测试大小的补码。

random_stateint、RandomState 实例或无,默认=无

控制生成的训练和测试指标的随机性。传递 int 以在多个函数调用之间实现可重现的输出。请参阅术语表。

例子

>>> import numpy as np
>>> from sklearn.model_selection import ShuffleSplit
>>> X = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [3, 4], [5, 6]])
>>> y = np.array([1, 2, 1, 2, 1, 2])
>>> rs = ShuffleSplit(n_splits=5, test_size=.25, random_state=0)
>>> rs.get_n_splits(X)
5
>>> print(rs)
ShuffleSplit(n_splits=5, random_state=0, test_size=0.25, train_size=None)
>>> for train_index, test_index in rs.split(X):
...     print("TRAIN:", train_index, "TEST:", test_index)
TRAIN: [1 3 0 4] TEST: [5 2]
TRAIN: [4 0 2 5] TEST: [1 3]
TRAIN: [1 2 4 0] TEST: [3 5]
TRAIN: [3 4 1 0] TEST: [5 2]
TRAIN: [3 5 1 0] TEST: [2 4]
>>> rs = ShuffleSplit(n_splits=5, train_size=0.5, test_size=.25,
...                   random_state=0)
>>> for train_index, test_index in rs.split(X):
...     print("TRAIN:", train_index, "TEST:", test_index)
TRAIN: [1 3 0] TEST: [5 2]
TRAIN: [4 0 2] TEST: [1 3]
TRAIN: [1 2 4] TEST: [3 5]
TRAIN: [3 4 1] TEST: [5 2]
TRAIN: [3 5 1] TEST: [2 4]

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.model_selection.ShuffleSplit。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。