我们应该在哪里使用
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)
答案 0 :(得分:1)
如果要分割具有要素(X)和标签(y)的实例,则使用第一个表单。如果您只想拆分要素(X),则使用第二种形式。
X_train, X_test, y_train, y_test= train_test_split(data, y, test_size=0.3, random_state=42)
它之所以不适合您,是因为您没有在train_test_split()
函数中提供标签数据。以上应该运作良好。只需将y
替换为您的标签/目标数据。
答案 1 :(得分:0)
train_test_split
方法根据需要接受尽可能多的数组。
但是,由于您需要四个返回的值,您必须将2
数组作为参数传递。
X_train, X_test, y_train, y_test= train_test_split(data, y_data, test_size=0.3, random_state=42)
如果您需要传递多个数组,可以使用 扩展可迭代解包 运算符。
train_test_split(*arrays, test_size = test_size, random_state = 0)
答案 2 :(得分:0)
如果您有1个数据列表,则将其拆分为2,
|---data_train
data ----train_test_split()--|
|---data_test
如果您有2个数据列表,则会将数据列表的 EACH 分割为2,即总共4个。
|---data_train_x
|---data_train_y
data_x, data_y ----train_test_split()--|
|---data_test_x
|---data_test_y
与 n 数据列表相同。