用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):包含输入分离后的测试集和验证集。
>>> 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]]
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)