Упражнение. Выполнение линейной регрессии с помощью NumPy

Завершено

Точечные диаграммы — это удобное средство для визуализации данных, но предположим, что вы хотите наложить на точечную диаграмму линию тренда, чтобы показать тенденцию с течением времени. Один из способов вычисления таких линий трендов — линейная регрессия. В этом упражнении вы воспользуетесь NumPy для выполнения линейной регрессии и Matplotlib для рисования линии тренда на основе данных.

  1. Поместите курсор в пустую ячейку внизу записной книжки. Измените тип ячейки на Markdown и введите "Выполнить линейную регрессию" как текст.

  2. Добавьте ячейку для кода и вставьте следующий код. Прочитайте комментарии (строки, начинающиеся со знака #), чтобы понять, что делает код.

    # 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()
    
  3. Запустите ячейку для отображения точечной диаграммы с линией регрессии.

    Точечная диаграмма с линией регрессии.

    Точечная диаграмма с линией регрессии

По линии регрессии вы видите, что разница между средней температурой за 30 лет и из 5 лет увеличивается с течением времени. Основную часть вычислительных операций, необходимых для формирования линии регрессии, выполняет функция NumPy polyfit, которая вычисляет значения m и b в уравнении y = mx + b.