ValueError: Форма переданных значений (39, 1), индексы подразумевают (39, 7) - PullRequest
0 голосов
/ 05 февраля 2020

Эй, я пытаюсь сделать простую регрессию c на мои данные, которая возвращает (у) против рыночных индексов (х).

import numpy as np

from sklearn import metrics

data = pd.read_excel ('Datafile.xlsx', index_col=0)

#split dataset into features and target variable
col_features = ['Market Beta','Value','Size','High-Yield Spread','Term Spread','Momentum','Bid-Ask Spread']
target=['Return']
x = data[col_features] #features
y = data[target] #target

#split x and y into training and testing datasets
from sklearn.model_selection import train_test_split
x_train, y_train, x_test, y_test = train_test_split (x, y, test_size = 0.25, random_state = 0)
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
y_train = np.argmax(y_train, axis=1)
logreg.fit(x_train, y_train)

y_pred = logreg.predict(x_test)

Я получаю ошибку ValueError: Shape of переданные значения (39, 1), индексы подразумевают (39, 7)

Спасибо.

1 Ответ

1 голос
/ 05 февраля 2020

вы только что перепутали порядок результатов train_test_split, поэтому x_test и y_train стали переключаться. Правильный порядок должен быть таким:

x_train, x_test, y_train, y_test = train_test_split(x, y, ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...