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

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

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

y=mx+c

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

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

· M=наклон линии

· C= y точка пересечения

Существует два основных типа линейной регрессии:

Простая линейная регрессия. Простая линейная регрессия предполагает прогнозирование одной выходной переменной на основе одной входной переменной.

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

Поиск наиболее подходящей линии:

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

Допущения в линейной регрессии:

Линейность. Линейная регрессия предполагает, что взаимосвязь между входными и выходными переменными является линейной. Это означает, что изменение выходной переменной прямо пропорционально изменению входных переменных. Если связь не является линейной, то линейная регрессия может быть неподходящей моделью.

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

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

Нормальность. Линейная регрессия предполагает, что ошибки имеют нормальное распределение. Это означает, что распределение ошибок симметрично и колоколообразно.

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

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

Шаги для построения модели линейной регрессии:

Шаг 1. Импорт набора данных
Шаг 2. Предварительная обработка данных
Шаг 3. Разделение тестового и обучающего наборов
Шаг 4. Подгонка модели линейной регрессии к обучающему набору
Шаг 5. Прогнозирование результатов теста
Шаг 6. Визуализация результатов теста

Реализация модели линейной регрессии в Python:

Шаг 1. Импорт библиотек

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

Шаг 02. Импорт наборов данных. Мы загрузим набор данных в наш код.

df = pd.read_csv("path.csv")

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

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

X = dataset.iloc[:,:-1].values #independent variable array
y = dataset.iloc[:,1].values #dependent variable vector

Шаг 04. Разделение наборов данных

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)

Шаг 05. Подгонка простой линейной регрессии к тренировочному набору:

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

Шаг 06. Прогноз результатов набора тестов:

y_pred= regressor.predict(x_test)
x_pred= regressor.predict(x_train)

Шаг 07. Точность:

regressor.score(y_pred,y_test)

Надеюсь, это будет полезно. Спасибо…..!!