Python 如何分割训练集和测试集?

Python 如何分割训练集和测试集?,python,split,Python,Split,我们应该在哪里使用 X_train,X_test,y_train,y_test= train_test_split(data, test_size=0.3, random_state=42) train, test= train_test_split(data, test_size=0.3, random_state=0). 我们应该在哪里使用 X_train,X_test,y_train,y_test= train_test_split(data, test_size=0.3, rand

我们应该在哪里使用

X_train,X_test,y_train,y_test= train_test_split(data, test_size=0.3, random_state=42)
train, test= train_test_split(data, test_size=0.3, random_state=0). 
我们应该在哪里使用

X_train,X_test,y_train,y_test= train_test_split(data, test_size=0.3, random_state=42)
train, test= train_test_split(data, test_size=0.3, random_state=0). 
前者返回以下内容:

值错误:没有足够的值来解包(预期值为4,实际值为2)


如果要拆分具有要素(X)和标签(y)的实例,则使用的第一个表单。如果只希望分割要素(X),则使用第二种形式


它对您不起作用的原因是您没有在
train\u test\u split()
函数中生成标签数据。上述措施应该很有效。只需用标签/目标数据替换
y

train\u test\u split
方法根据需要接受尽可能多的数组参数

但是,由于需要四个返回值,因此必须将
2
数组作为参数传递

如果需要传递多个数组,可以使用扩展iterable unpacking运算符

train_test_split(*arrays, test_size = test_size, random_state = 0)

如果您有1个数据列表,它将拆分为2

                             |---data_train
data ----train_test_split()--|
                             |---data_test
如果您有2个数据列表,它会将数据列表中的每个数据列表拆分为2,即总共4个

                                       |---data_train_x
                                       |---data_train_y
data_x, data_y ----train_test_split()--|
                                       |---data_test_x
                                       |---data_test_y
与n数据列表相同