Упражнение. Выполнение линейной регрессии с помощью NumPy
Точечные диаграммы — это удобное средство для визуализации данных, но предположим, что вы хотите наложить на точечную диаграмму линию тренда, чтобы показать тенденцию с течением времени. Один из способов вычисления таких линий трендов — линейная регрессия. В этом упражнении вы воспользуетесь NumPy для выполнения линейной регрессии и Matplotlib для рисования линии тренда на основе данных.
Поместите курсор в пустую ячейку внизу записной книжки. Измените тип ячейки на Markdown и введите "Выполнить линейную регрессию" как текст.
Добавьте ячейку для кода и вставьте следующий код. Прочитайте комментарии (строки, начинающиеся со знака #), чтобы понять, что делает код.
# Creates a linear regression from the data points m,b = np.polyfit(yearsBase, meanBase, 1) # This is a simple y = mx + b line function def f(x): return m*x + b # This generates the same scatter plot as before, but adds a line plot using the function above plt.scatter(yearsBase, meanBase) plt.plot(yearsBase, f(yearsBase)) plt.title('scatter plot of mean temp difference vs year') plt.xlabel('years', fontsize=12) plt.ylabel('mean temp difference', fontsize=12) plt.show() # Prints text to the screen showing the computed values of m and b print(' y = {0} * x + {1}'.format(m, b)) plt.show()
Запустите ячейку для отображения точечной диаграммы с линией регрессии.
Точечная диаграмма с линией регрессии
По линии регрессии вы видите, что разница между средней температурой за 30 лет и из 5 лет увеличивается с течением времени. Основную часть вычислительных операций, необходимых для формирования линии регрессии, выполняет функция NumPy polyfit
, которая вычисляет значения m
и b
в уравнении y = mx + b.