python 自动划分数据集为测试集和验证集train_test_split

如果不想看具体参数的可以拉到最后看通常使用方式

用train_test_split可以自动帮你把数据集划分为测试集和验证集

from sklearn.model_selection import train_test_split

output= sklearn.model_selection.train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)

*array:长度相同的可索引序列/形状[0]:输入包括lists, numpy arrays, scipy-sparse matrices 或者 pandas dataframes.
test_size:float 或 int, default=None。这个就是测试集在数据集中的比例,如果不设置或者设置为None,则自动设置为1-train_size,如果train_size 也为None,则将其设置为0.25
train_size :float 或 int, default=None。这个是测试集在数据集中比例,用法与test_size相似。
random_state :int,RandomState instance 或None,default=None。在应用拆分之前,控制应用于数据的改组。为多个函数调用传递可重复输出的int值。
shuffle:bool, default=True。是否打乱数组。如果shuffle = False,则stratify必须为None;
stratify:array-like, default=None。如果不是None,则将数据用作类标签以分层方式拆分。

output:list, length=2 * len(arrays):包含输入分离后的测试集和验证集。

example1:

>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],
       [0, 1],
       [6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],
       [8, 9]])
>>> y_test
[1, 4]

>>> train_test_split(y, shuffle=False)
[[0, 1, 2], [3, 4]]

example2:

from sklearn.model_selection import train_test_split

x_train,x_test,y_train,y_text=train_test_split(data,label,test_size=0.3)

把数据集中的数据(data)和标签/输出(label)自动分为了按照训练集和测试集分为了7:3,x_train,x_test,y_train,y_text分别为训练集的数据(data),训练集的标签/输出(label),测试集的数据(data),测试集的标签/输出(label)

你可能感兴趣的:(nlp,python,深度学习,机器学习)