Как устранить ошибку ValueError для линейной регрессии OLS в Python

Я получаю ValueErrorи я проверил несколько сообщений stackru по этому поводу, но ничего, к чему я мог бы относиться. Вот мой код:

X_train,X_test,y_train,y_test=model_selection.train_test_split(X,y,test_size=0.2,random_state=0)

X_train=sm.add_constant(X_train)
model3=sm.OLS(y_train,X_train)
result=model3.fit()
print(result.summary())

X_test = sm.add_constant(X_test)
y_pred = model3.predict(X_test)

ValueError Traceback (последний вызов последним) в 1 X_test = sm.add_constant (X_test) ----> 2 y_pred = model3.predict (X_test)

C:\ProgramData\Anaconda3\lib\site-> packages \ statsmodels \ regression \linear_model.py в pred (self, params, exog) 378 exog = self.exog 379 -> 380 return np.dot(exog, params) 381 382 def get_distribution(self, params, scale, exog=None, >dist_class=None):

< Array_function Внутренности> в точку (* арг, **kwargs)

ValueError: фигуры (716,24) и (179,24) не выровнены: 24 (тусклый 1)!= 179 (тусклый 0)

Размеры X_train, X_test, y_train, y_test перед добавлением константы в поезд и тестовый набор данных

X_train набор данных: (716, 24)
y_train набор данных: (716,)
Количество транзакций X_test набор данных: (179, 24)
Количество транзакций y_test набор данных: (179,)

0 ответов

Другие вопросы по тегам