Линейная регрессия

Прогнозирование результатов с помощью одной функции

Метод прогнозирования зависимой переменной (Y) на основе значений независимых переменных (X), в которых они линейно связаны.

Цель: найти линейную функцию, которая предсказывает зависимую переменную (Y) как функцию признака или независимой переменной (X).

Линейная функция ,

y = b0 + (b1 * x1)

у = зависимая переменная

х = независимая переменная

Как найти наиболее подходящую линию?

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

мы обычно используем MSE для вычисления ошибки.

мин {СУММ(Yi — Yp)² }

Шаг 1. Предварительная обработка данных

Мы будем следовать тем же шагам, что и в моей предыдущей статье Машинное обучение (часть 1).

Шаг 2. Разработка функций

Мы можем отфильтровать независимые переменные (X), которые имеют высокую взаимосвязь с зависимыми переменными (Y), построив их матрицу корреляции.

используйте Seaborn, чтобы нарисовать матрицу в красочном сюжете.

import pandas as pd
df = pd.DataFrame(filename)
df.corr()
import seaborn as sn
import matplotlib.pyplot as plt
sn.heatmap(corrMatrix, annot=True)

Шаг 3. Подгонка модели линейной регрессии к обучающей выборке

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

Шаг 4. Прогнозирование результатов

Y_pred = regressor.predict(X_test)

Шаг 5. Визуализация

Мы будем использовать библиотеку matplotlib.pyplot для создания точечных диаграмм наших обучающих и тестовых наборов, чтобы увидеть, насколько наша модель предсказывает значения.

import matlpotlib.pyplot as plt
// visualize the training dataset
plt.scatter(X_train, Y_train, color='blue')
plt.plot(X_train, regressor.predict(X_train), color='red')
// visualize the testing dataset
plt.scatter(X_test, Y_test, color='blue')
plt.plot(X_test, regressor.predict(X_test), color='red')