Введение в простую линейную регрессию

Из словаря : возврат к прежнему или менее развитому состоянию.

В статистике: мера отношения между средним значением одной переменной и соответствующими значениями других переменных.

Регрессия, в которой отношение между входной переменной (независимой переменной) и целевой переменной (зависимой переменной) считается линейной, называется линейной регрессией. Простая линейная регрессия - это тип линейной регрессии, где у нас есть только одна независимая переменная для прогнозирования зависимой переменной. Простая линейная регрессия - один из алгоритмов машинного обучения. Простая линейная регрессия принадлежит семейству контролируемого обучения. Регрессия используется для прогнозирования непрерывных значений.

Модель простой линейной регрессии

Давайте сделаем это просто. Как все это началось?

Все началось в 1800 году с Фрэнсиса Гальтона. Он изучал отношения по высоте между отцами и их сыновьями. Он заметил закономерность: рост сына будет таким же высоким, как рост его отца, или рост сына будет ближе к общему среднему росту всех людей. Это явление не что иное, как регрессия.

Например, Шак О'Нил - очень известный игрок НБА, его рост составляет 2, 16 метра. Его сыновья Шакир и Шариф О'Нил имеют рост 1, 96 метра и 2, 06 метра соответственно. Средний рост населения составляет 1, 76 метра. Рост сына регрессирует (смещается в сторону) к средней высоте.

Как мы делаем регресс?

Вычисление регрессии только с двумя точками данных:

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

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

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

Что делает простая линейная регрессия?

Ниже приведено подробное объяснение простой линейной регрессии:

  • Он рисует множество возможных линий линий, а затем выполняет любой из этих анализов.
  • Сумма квадратов ошибок.
  • Сумма абсолютных ошибок.
  • метод наименьших квадратов… и т. д.
  • Для нашего анализа мы будем использовать метод наименьших квадратов.
  • Мы сделаем разницу во всех точках и вычислим квадрат суммы всех точек. Какая бы строка ни указала минимальную сумму, наша лучшая линия.

Например: Делая это, мы могли бы взять нескольких мужчин и рост их сына и сделать такие вещи, как сказать человеку, какой у него рост. до того, как он даже родился.


Google Image

На приведенном выше рисунке показана простая линейная регрессия. Линия представляет линию регрессии. Дано: у = а + б * х

Где у - это зависимая переменная (DV): например, как изменяется зарплата человека в зависимости от количества лет опыта, которое имеет работник. Так что здесь зарплата сотрудника или человека будет вашей зависимой переменной.

Зависимая переменная - это наша целевая переменная, которую мы хотим предсказать, используя линейную регрессию.

х наша независимая переменная (IV): зависимая переменная является причиной изменения независимой переменной. В приведенном выше примере количество лет опыта является нашей зависимой переменной, потому что количество лет опыта вызывает изменение в заработной плате работника.

  • b - коэффициентная переменная для нашей независимой переменной x. Этот коэффициент играет решающую роль. Это говорит о том, как изменение единицы в x (IV) повлияет на y (DV). Это также называется коэффициентом пропорциональности. С точки зрения математики, это зависит от вас, наклон линии или вы можете сказать, крутой линии.
  • В нашем примере, если уклон (b) меньше, это означает, что количество лет приведет к меньшему приросту заработной платы, с другой стороны, если уклон (b) больше, то получится значительное увеличение заработной платы с увеличением числа Годы опыта.
  • а является постоянным значением. Это также называется перехватом, то есть там, где линия пересекает ось Y или DV. Другими словами, мы можем сказать, что если у сотрудника нет опыта работы (x), тогда зарплата (y) для этого сотрудника будет постоянной (a).

Как работает Least Square?

Ниже приведены точки для наименьших квадратов:

  • Он рисует произвольную линию согласно данным трендов.
  • Он берет данные точек и рисует вертикальные линии. Он считает вертикальное расстояние в качестве параметра.
  • Эти вертикальные линии обрезают линию регрессии и дают соответствующую точку для точек данных.
  • Затем он найдет вертикальную разницу между каждой точкой данных и соответствующей ей точкой данных на линии регрессии.
  • Это вычислит ошибку, которая является квадратом разницы.
  • Затем он вычисляет сумму ошибок.
  • Затем он снова нарисует линию и повторите описанную выше процедуру еще раз.
  • Таким образом он рисует несколько линий, и в качестве лучшей линии выбирается линия, которая дает наименьшую сумму ошибок.
  • Эта лучшая линия - наша простая линия линейной регрессии.

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

Регрессионный анализ выполняется для прогнозирования непрерывной переменной. Регрессионный анализ имеет широкий спектр применений. Вот некоторые примеры:

  • Прогнозная аналитика
  • Эффективность маркетинга,
  • ценообразование любого списка
  • прогнозирование продвижения товара.

Здесь мы собираемся обсудить одно применение линейной регрессии для прогнозной аналитики. Мы будем делать моделирование с использованием Python.

Шаги, которые мы собираемся выполнить, чтобы построить нашу модель:

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

Для нашего анализа мы собираемся использовать набор данных о зарплате с данными 30 сотрудников.

# Импорт библиотек

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Импорт набора данных (образец данных показан в таблице)

dataset = pd.read_csv('Salary_Data.csv')

Годы опыта Оплата труда
1, 5 37731
1, 1 39343
2, 2 39891
2 43525
1, 3 46205
3, 2 54445
4 55749

# Предварительная обработка набора данных, здесь мы разделим набор данных на зависимую переменную и независимую переменную. х как независимый и у как зависимая или целевая переменная

X = dataset.iloc(:, :-1).values
y = dataset.iloc(:, 1).values

# Разделение набора данных на обучающий набор и тестовый набор:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 1/3, random_state = 0)

Здесь размер теста 1/3 показывает, что из общих данных 2/3 часть предназначена для обучения модели, а третья часть используется для тестирования модели.

# Давайте приспособим нашу модель простой линейной регрессии к обучающему набору

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

Модель линейной регрессии сейчас обучается. Эта модель будет использоваться для прогнозирования зависимой переменной.

# Прогнозирование результатов тестового набора

y_pred = regressor.predict(X_test)

# Визуализация результатов тестового набора

plt.scatter(X_test, y_test, color = 'blue')
plt.plot(X_train, regressor.predict(X_train), color = 'red')
plt.title('Salary of Employee vs Experience (Test set)')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()

# Параметр модели

print(regressor.intercept_)
print(regressor.coef_)
26816.19224403119
(9345.94244312)

Таким образом, значение перехватчика (a) равно 26816. Это говорит о том, что любой более свежий (с нулевым опытом) получит около 26816 суммы в качестве зарплаты.

Коэффициент для нашей модели составил 9345, 94. Это предполагает, что при сохранении всех остальных параметров постоянными, изменение одной единицы независимой переменной (годы опыта) приведет к изменению оклада в 9345 единиц.

Метрики оценки регрессии

Есть в основном 3 важных метода оценки метрик, доступных для регрессионного анализа:

  • Средняя абсолютная ошибка (MAE): показывает среднее абсолютных ошибок, которые представляют собой разницу между прогнозируемой и фактической ошибками.
  • Средняя квадратичная ошибка (MSE): показывает среднее значение квадратичной ошибки.
  • Среднеквадратическая ошибка (RMSE): показывает квадратный корень из среднего квадрата ошибок.

Можно сравнить вышеперечисленные методы:

  • MAE: показывает среднюю ошибку и самый простой из всех трех методов.
  • MSE: Этот более популярен, чем MAE, потому что он увеличивает большие ошибки, что в результате показывает больше понимания.
  • RMSE: Этот лучше, чем MSE, потому что мы можем интерпретировать ошибку с точки зрения y.

Эти 3 не что иное, как функции потерь.

# Оценка модели

from sklearn import metrics
print('MAE:', metrics.mean_absolute_error(y_test, y_pred))
print('MSE:', metrics.mean_squared_error(y_test, y_pred))
print('RMSE:', np.sqrt(metrics.mean_squared_error(y_test, y_pred)))
MAE: 3426.4269374307123
MSE: 21026037.329511296
RMSE: 4585.4157204675885

Вывод

Анализ линейной регрессии - это мощный инструмент для алгоритмов машинного обучения, который используется для прогнозирования непрерывных переменных, таких как зарплата, продажи, производительность и т. Д. Линейная регрессия учитывает линейную зависимость между независимыми и зависимыми переменными. Простая линейная регрессия имеет только одну независимую переменную, на основе которой модель прогнозирует целевую переменную. Мы обсудили модель и применение линейной регрессии на примере прогнозного анализа для прогнозирования заработной платы сотрудников.

Рекомендуемые статьи

Это руководство по простой линейной регрессии. Здесь мы обсуждаем модель и применение линейной регрессии, используя пример прогнозного анализа для прогнозирования заработной платы сотрудников. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-

  1. Линейный регрессионный анализ
  2. Линейная регрессия в R
  3. Моделирование линейной регрессии
  4. Инструменты регрессионного тестирования
  5. Matplotlib In Python | Лучшие 14 участков в Matplotlib
  6. Словарь в Python | Методы и примеры
  7. Примеры квадратного корня в PHP
  8. Линейная регрессия против логистической регрессии | Основные отличия