如何使用 train_test_split 拆分元组?
How to split a tuple using train_test_split?
X = (569,30)
y = (569,)
X_train, X_test, y_train, y_test = train_test_split(np.asarray(X),np.asarray(y),test_size = 0.25, random_state=0)
我期望输出如下:
- X_train 的形状为 (426, 30)
- X_test 的形状为 (143, 30)
- y_train 的形状为 (426,)
- y_test 的形状为 (143,)
但我收到以下警告
ValueError: Found input variables with inconsistent numbers of samples: [2, 1]
我知道,我可以通过另一种方式获得所需的输出,网上发现的所有问题都表明 X 和 y 的长度不相同,但在我的情况下,这不是问题。
您似乎误解了 train_test_split
的作用。它不期望输入数组的形状,它所做的是将 输入数组 分成训练集和测试集。所以你必须给它提供实际的数组,例如:
X = np.random.rand(569,30)
y = np.random.randint(0,2,(569))
X_train, X_test, y_train, y_test = train_test_split(np.asarray(X),np.asarray(y),test_size = 0.25, random_state=0)
print(X_train.shape)
print(X_test.shape)
print(y_train.shape)
print(y_test.shape)
(426, 30)
(143, 30)
(426,)
(143,)
X = (569,30)
y = (569,)
X_train, X_test, y_train, y_test = train_test_split(np.asarray(X),np.asarray(y),test_size = 0.25, random_state=0)
我期望输出如下:
- X_train 的形状为 (426, 30)
- X_test 的形状为 (143, 30)
- y_train 的形状为 (426,)
- y_test 的形状为 (143,)
但我收到以下警告
ValueError: Found input variables with inconsistent numbers of samples: [2, 1]
我知道,我可以通过另一种方式获得所需的输出,网上发现的所有问题都表明 X 和 y 的长度不相同,但在我的情况下,这不是问题。
您似乎误解了 train_test_split
的作用。它不期望输入数组的形状,它所做的是将 输入数组 分成训练集和测试集。所以你必须给它提供实际的数组,例如:
X = np.random.rand(569,30)
y = np.random.randint(0,2,(569))
X_train, X_test, y_train, y_test = train_test_split(np.asarray(X),np.asarray(y),test_size = 0.25, random_state=0)
print(X_train.shape)
print(X_test.shape)
print(y_train.shape)
print(y_test.shape)
(426, 30)
(143, 30)
(426,)
(143,)