Линейная регрессия: подгонка и построение графиков

Machine LearningMachine LearningBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь выполнять линейную регрессию для набора точек данных и визуализировать результаты с использованием Matplotlib. Линейная регрессия - это фундаментальный метод машинного обучения, используемый для моделирования зависимости между зависимой переменной (y) и одной или более независимых переменных (x).

🎯 Задачи

В этом проекте вы научитесь:

  • Как преобразовать данные в массив Numpy для более удобной обработки
  • Как вычислить коэффициенты модели линейной регрессии, включая наклон (w) и перехват (b)
  • Как построить точки данных на точечной диаграмме и нарисовать линию линейной регрессии на той же диаграмме

🏆 Достижения

После завершения этого проекта вы сможете:

  • Подготовить данные для анализа линейной регрессии
  • Использовать функции Numpy для вычисления параметров линейной регрессии
  • Создать точечную диаграмму и наложить на нее линию линейной регрессии с использованием Matplotlib
  • Получить более глубокое понимание линейной регрессии и ее практических применений в анализе и визуализации данных

Преобразование данных в массив NumPy

В этом шаге вы научитесь преобразовывать данные в массив NumPy для более удобной обработки.

Откройте файл linear_regression_plot.py.

Найдите переменную data в начале функции linear_plot().

Преобразуйте список data в массив NumPy с использованием функции np.array().

data = np.array(data)

Теперь переменная data является массивом NumPy, что упростит работу с ней в следующих шагах.

✨ Проверить решение и практиковаться

Вычисление параметров линейной регрессии

В этом шаге вы научитесь вычислять значения коэффициента w и перехвата b из данных.

Продолжайте в функции linear_plot(), извлеките значения x и y из массива NumPy data.

x = data[:, 0]
y = data[:, 1]

Используйте функцию np.polyfit() для вычисления параметров линейной регрессии w и b.

w, b = np.polyfit(x, y, 1)

Округлите вычисленные значения w и b до двух знаков после запятой с использованием функции round().

w = round(w, 2)
b = round(b, 2)

Теперь у вас есть значения коэффициента w и перехвата b, готовые к использованию на следующем шаге.

✨ Проверить решение и практиковаться

Построение линии линейной регрессии

В этом шаге вы научитесь строить точечную диаграмму выборки и рисовать линию аппроксимации на графике на основе вычисленных параметров.

Продолжайте в функции linear_plot(), создайте новую фигуру и ось Matplotlib с использованием plt.subplots().

fig, ax = plt.subplots()

Постройте точки данных с использованием функции ax.scatter().

ax.scatter(x, y, label="Data Points")

Постройте линию линейной регрессии с использованием функции ax.plot() и вычисленных значений w и b.

ax.plot(x, w * x + b, color="red", label=f"Linear Fit: y = {w}x + {b}")

Добавьте подписи и легенду к графику.

ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.legend()

Наконец, верните значения w, b и объект fig.

return w, b, fig

Теперь вы завершили функцию linear_plot(), которая выполняет линейную регрессию по заданным данным и возвращает коэффициенты и объект графика Matplotlib.

✨ Проверить решение и практиковаться

Запуск графика линейной регрессии

В этом финальном шаге вы научитесь запускать свой скрипт, чтобы увидеть в действии график линейной регрессии. Эта часть кода будет использовать функции, определенные ранее в linear_plot(), для отображения точечной диаграммы вместе с линией линейной регрессии.

Предоставленный фрагмент Python проверит, запускается ли скрипт в качестве основной программы, и, если да, вызовет функцию linear_plot() и отобразит полученный график.

if __name__ == "__main__":
    ## Call the linear_plot function to compute the regression parameters and generate the plot
    w, b, fig = linear_plot()
    ## Display the plot
    plt.show()

Здесь if __name__ == "__main__": гарантирует, что функция linear_plot() вызывается только при прямом запуске скрипта, а не при импорте в качестве модуля. После вызова linear_plot(), которая возвращает наклон w, перехват b и объект фигуры fig, используется plt.show() для отображения графика в окне. Это позволяет визуально проверить подгонку линии регрессии к данным.

Теперь вы можете нажать кнопку "Run Cell" вверху первой строки linear_regression_plot.py и увидеть результат.

Linear regression plot result

С такой настройкой вы можете легко запускать скрипт с различными наборами данных или настройками расчета регрессии, чтобы получить мгновенную визуальную обратную связь.

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.