Узнайте о линейной регрессии

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

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

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

Вот математическая формула линейной регрессии

y= a0+a1x+ ε

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

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

a0= Пересечение линии

a1 = коэффициент линейной регрессии

ε= Случайная ошибка

Типы линейной регрессии

Простая линейная регрессия №1:

Когда при прогнозировании зависимой переменной используется одна независимая переменная, это называется простой линейной регрессией.

Множественная линейная регрессия №2:

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

Преимущества линейной регрессии

#1Простота:

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

#2Регуляризация может уменьшить переобучение:

Переобучение — очень распространенная проблема в моделях машинного обучения. Переобучение происходит, когда модель слишком сложна для вашего набора данных. Он начинает собирать зашумленные данные и неправильные значения, что приводит к снижению точности и эффективности модели ML.

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

#3 хорошо работает с линейно разделимыми наборами данных:

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

Недостатки линейной регрессии:

Выбросы №1:

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

№2 предполагает, что данные независимы:

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

Предположения о данных, используемых для линейной регрессии

# 1 Переменные должны быть непрерывными по своей природе. Вот несколько примеров непрерывных переменных: температура, рост, вес, продажи, прибыль.

#2 Переменные должны быть независимы друг от друга

#3 В прогнозе не должно быть выбросов

# 4 остаточные ошибки должны соответствовать нормальному распределению

Использование линейной регрессии

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

#1. Оценка показателей продаж:

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

Если продажи компании постоянно растут, развернув модель LR, компании могут создать линию тренда для прогнозирования продаж в ближайшие месяцы.

№ 2. Влияние повышения цен на объем продаж:

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

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

Оценка рисков №3

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

Это, конечно, некоторые из способов, которые могут помочь компаниям использовать линейную регрессию, чтобы стать более эффективными.

Импортировать необходимые библиотеки

Прежде всего, импортируйте библиотеки, такие как pandas, NumPy, matplotlib для чтения и вычислительной работы.

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

Загрузите данные

data=  pd.read_csv(r"C:\Users\Varun Sakhuja\Desktop\AS+Veue\Data Science\Data\fish.csv")

Проверьте первые 5 строк загруженного набора данных.

data.head()

Постройте данные, чтобы получить диаграмму рассеяния

data.plot(x='Weight', y='Height', style='o')
plt.title('Weight  vs Height')
plt.xlabel('Weight')
plt.ylabel('Height')
plt.show()

Разделите данные на наборы для обучения и тестирования.

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

Импортируйте модель линейной регрессии из библиотеки Sci Kit и подгоните образец

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

Предсказать значение перехвата

print(regressor.intercept_)

Значение получается: -0,8085206162103802

Предсказать значение коэффициента

print(regressor.coef_)

Получается следующее значение: [ 0,00294752 -1,64445451 0,25122348 1,44820958]

Делайте прогнозы на тестовых данных

y_pred = regressor.predict(X_test)
df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})
df

Получите среднюю абсолютную ошибку, среднеквадратичную ошибку и среднеквадратичную ошибку

from sklearn import metrics
print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred))
print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred))
print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(y_test, y_pred)))

Вот значения ниже:

Средняя абсолютная ошибка: 0,6190786777496451
Среднеквадратическая ошибка: 0,7768749299321965
Среднеквадратическая ошибка: 0,8814050884424236