如何拆分数据集以在 Python 中进行训练、测试和验证?

ded*_*hma 2 python scikit-learn train-test-split

我有一个这样的数据集

my_data= [['Manchester', '23', '80', 'CM',
  'Manchester', '22', '79', 'RM',
  'Manchester', '19', '76', 'LB'],
 ['Benfica', '26', '77', 'CF',
  'Benfica', '22', '74', 'CDM',
  'Benfica', '17', '70', 'RB'],
 ['Dortmund', '24', '75', 'CM',
  'Dortmund', '18', '74', 'AM',
  'Dortmund', '16', '69', 'LM']
]
Run Code Online (Sandbox Code Playgroud)

我知道使用 sklearn.cross_validation 中的 train_test_split,我已经尝试过

from sklearn.model_selection import train_test_split
train, test = train_test_split(my_data, test_size = 0.2)
Run Code Online (Sandbox Code Playgroud)

结果只是分成测试和训练。我想用随机数据将它分成 3 个单独的集合。

预期: 测试、训练、有效

小智 6

您可以简单地使用 train_test split 两次

X_train, X_test, y_train, y_test 
    = train_test_split(X, y, test_size=0.2, random_state=1)

 X_train, X_val, y_train, y_val 
    = train_test_split(X_train, y_train, test_size=0.25, random_state=1)
Run Code Online (Sandbox Code Playgroud)

此外,答案可以在这里找到