Упражнение. Выполнение линейной регрессии с помощью Scikit-learn
Еще одна популярная библиотека Python, которая широко используется в сообществе исследователей — scikit-learn, которая является превосходным средством создания моделей машинного обучения для извлечения ценной информации из данных. В этом упражнении вы будете использовать scikit-learn (который мы уже импортировали во втором модуле) для вычисления линии тренда для данных NASA о климате.
Поместите курсор в пустую ячейку внизу записной книжки. Измените тип ячейки на Markdown и введите "Выполнить линейную регрессию со scikit-learn" как текст.
Добавьте ячейку для кода и вставьте следующий код.
# Pick the Linear Regression model and instantiate it model = LinearRegression(fit_intercept=True) # Fit/build the model model.fit(yearsBase[:, np.newaxis], meanBase) mean_predicted = model.predict(yearsBase[:, np.newaxis]) # Generate a plot like the one in the previous exercise plt.scatter(yearsBase, meanBase) plt.plot(yearsBase, mean_predicted) plt.title('scatter plot of mean temp difference vs year') plt.xlabel('years', fontsize=12) plt.ylabel('mean temp difference', fontsize=12) plt.show() print(' y = {0} * x + {1}'.format(model.coef_[0], model.intercept_))
Запустите ячейку для отображения точечной диаграммы с линией регрессии.
Точечная диаграмма с линией регрессии, вычисленной scikit-learn
Выходные данные почти идентичны результатам в предыдущем упражнении. Разница в том, scikit-learn проделал за вас больше работы. В частности, не нужно писать код линейной функции, как в случае с NumPy; функция scikit-learn LinearRegression
сделала это автоматически. scikit-learn поддерживает многие типы регрессии, и это удобно при построении сложных моделей машинного обучения.