训练和验证数据集的拆分

Splitting of training and validation dataset

我需要将我的训练数据 (80-20) 拆分为验证数据,拆分的子数据集不是随机的,而是始终相同。

目前我正在使用这个代码

from sklearn.model_selection import train_test_split
X_train, X_val, Y_train, Y_val = train_test_split(X, Y, test_size=0.2)

但分割的子数据集总是随机的,永远不会相同。我希望它是随机的,但是当我再次 运行 代码时应该存在相同的值(类似于 np.random.seed)

有办法吗?

train_test_split() 有一个 random_state 参数。如果给它分配一个整数值,结果将始终相同:

from sklearn.model_selection import train_test_split
X_train, X_val, Y_train, Y_val = train_test_split(X, Y, test_size=0.2, random_state=1)