Введение
В этом проекте вы научитесь выполнять линейную регрессию для набора точек данных и визуализировать результаты с использованием 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 и увидеть результат.

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



