Как разделить кортеж с помощью train_test_split? - PullRequest
0 голосов
/ 27 апреля 2020
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 не одинаковы, но в моем случае это не проблема.

1 Ответ

1 голос
/ 27 апреля 2020

Кажется, вы не понимаете, что делает train_test_split. Он не ожидает формы входных массивов, он разбивает входные массивы на наборы поездов и тестов. Таким образом, вы должны кормить его фактическими массивами, для instace:

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,)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...