Я планировал использовать sklearn linear_model для построения графика результата линейной регрессии и statsmodels.api, чтобы получить подробное резюме результата обучения. Однако два пакета дают очень разные результаты на одном и том же входе.Различные коэффициенты линейной регрессии с помощью statsmodels и sklearn
Например, постоянный термин от sklearn равен 7.8e-14, но постоянный член от statsmodels равен 48.6. (Я добавил колонку 1-х в х для постоянного члена при использовании обоих методов) Мой код для обоих методов succint:
# Use statsmodels linear regression to get a result (summary) for the model.
def reg_statsmodels(y, x):
results = sm.OLS(y, x).fit()
return results
# Use sklearn linear regression to compute the coefficients for the prediction.
def reg_sklearn(y, x):
lr = linear_model.LinearRegression()
lr.fit(x, y)
return lr.coef_
вход слишком сложен, чтобы разместить сообщение. Возможно ли, что сингулярный вход x вызвал эту проблему?
Сделав 3-мерный участок с использованием PCA, кажется, что результат sklearn не является хорошим приближением. Какие объяснения? Я все еще хочу сделать визуализацию, поэтому будет очень полезно исправить проблемы в реализации линейной регрессии sklearn.