.rsquared_adj представляет собой скорректированный R2 (R2 скорректированный согласно количеству входных функций).
.params ссылается на массив с помощью b0, b1 и b2 соответственно.
Вы также можете заметить, что эти результаты идентичны результатам, полученным с помощью scikit-learn решать ту же проблему.
Для получения дополнительной информации о результатах линейной регрессии посетите официальную страницу документации.
Шаг 5. Спрогнозируйте ответ Вы можете получить прогнозируемый ответ на входные значения, используемые для создания модели, используя .fittedvalues или .predict() с входным массивом в качестве аргумента:
>>> print('predicted response:', results.fittedvalues, sep='\n')
predicted response:
[ 5.77760476 8.012953 12.73867497 17.9744479 23.97529728 29.4660957
38.78227633 41.27265006]
>>> print('predicted response:', results.predict(x), sep='\n')
predicted response:
[ 5.77760476 8.012953 12.73867497 17.9744479 23.97529728 29.4660957
38.78227633 41.27265006]
Это прогнозируемый ответ для известных входов. Если вам нужны прогнозы с новыми регрессорами, вы также можете применить .predict() с новыми данными в качестве аргумента:
>>> x_new = sm.add_constant(np.arange(10).reshape((-1, 2)))
>>> print(x_new)
[ [1. 0. 1.]
[1. 2. 3.]
[1. 4. 5.]
[1. 6. 7.]
[1. 8. 9.] ]
>>> y_new = results.predict(x_new)
>>> print(y_new)
[ 5.77760476 7.18179502 8.58598528 9.99017554 11.3943658 ]
Вы можете заметить, что прогнозируемые результаты такие же, как и полученные с помощью scikit-learn для той же проблемы.
За пределами линейной регрессии Линейная регрессия иногда не подходит, особенно для нелинейных моделей высокой сложности.
К счастью, есть и другие методы регрессии, подходящие для случаев, когда линейная регрессия не работает. Некоторые из них — вспомогательные векторные машины, деревья решений, случайный лес и нейронные сети.
Существует множество библиотек Python для регрессии с использованием этих методов. Большинство из них бесплатны и имеют открытый исходный код. Это одна из причин, почему Python является одним из основных языков программирования для машинного обучения.
Пакет scikit-learn предоставляет средства для использования других техник регрессии очень похожим образом на то, что вы видели. Он содержит классы для опорных векторных машин, деревьев решений, случайного леса и т.д. С методами .fit(), .predict(), .score() и т.д.