Как устранить ошибку 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,)