Я только начал машинное обучение на питоне и изучал множественную линейную регрессию. Где я узнаю о ловушке с фиктивной переменной, которую можно решить путем обратного исключения, но при применении обратного исключения я получаю эту ошибку. (PatsyError: в модели отсутствуют необходимые переменные результата)
Это мои импортированные файлы
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.preprocessing import LabelEncoder , OneHotEncoder
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import statsmodels.formula.api as sm
Это первые 5 строк моего набора данных:
gender age exercise hours grade
0 female 17 3 10 82.4
1 male 18 4 4 78.2
2 male 18 5 9 79.3
3 female 14 2 7 83.2
4 female 18 4 15 87.4
real_x = data_frame.iloc[:,:4].values
real_y = data_frame.iloc[:,4:].values
label_encoder_obj = LabelEncoder()
real_x[:,0] = label_encoder_obj.fit_transform(real_x[:,0])
one_hot_encoder = OneHotEncoder(categorical_features=[2])
real_x = one_hot_encoder.fit_transform(real_x).toarray()
real_x = real_x[:,1:]
training_x,test_x,training_y,test_y=
train_test_split(real_x,real_y,test_size=0.2,random_state=0)
multiple_linear_regression = LinearRegression()
multiple_linear_regression.fit(training_x,training_y)
predection_y = multiple_linear_regression.predict(test_x)
real_x=np.append(arr=np.ones((real_x.shape[0],1)).astype(int),
values=real_x,axis=1)
x_optimization = real_x[:,[0,1,2,3,4,5]]
В нижней строке я получаю сообщение об ошибке.
regresion_ordinary_least_squar = sm.ols(real_y,data=x_optimization).fit();
# если пропущено == 'поднять', то не пропущена_маска
PatsyError: model is missing required outcome variables
И я видел несколько онлайн-примеров, в которых часть кода
sm.OLS()
используется вместо
sm.ols()
В чем разница?
smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()
(взято с statsmodels.org/ стабильный/index.html документ), поэтому кажется, что вам нужно передать формулу. - person Chinny84   schedule 12.09.2019sm.ols?
это покажет вам, как использовать функцию (также ссылка, которую я предоставил, должна дать ясность). Вы использовали R раньше? вы должны дать формулу<outcome> ~ independent variables list
в качестве формулы. - person Chinny84   schedule 12.09.2019