Линейная регрессия (Linear regression) - метод машинного обучения, в котором ищется отношение зависимой переменной от одной или нескольких независимых переменных (регрессоров) посредством линейной функции.
Линейная функция записывается уравнением
где:
y - зависимая (целевая) переменная
x - независимая переменная (регрессор)
k - коэффициент наклона (Тангенс угла наклона - определяет наклон линии относительно оси абсцисс (x))
b - отрезок или свободный коэффициент (определяет смещение линии относительно оси абсцисс (x) и где линия пересекает ось ординат (y))
В машинном обучении уравнение имеет вид:
Тут коэффициенты k и b принято называть весами и обозначать их w, x - это фича, а y - целевая переменная.
Количество весов напрямую зависит от количества фичей и задача линейной регресси подобрать такие веса w, которые дадут наилучший результат при предсказании.
Один из способов найти наилучшую зависимость - Метод наименьших квадратов (МНК, Least squares) - математический метод, применяемый для решения различных задач, основанный на минимизации суммы квадратов отклонений выходных значений некоторой функции от исходных значений.
Часто для реализации МНК используется функция MSE (от англ. Mean Squared Error – средняя квадратичная ошибка)
Код из файла step_1_linear_regression.py выведет:
'''
start | loss: 3.00
100 | loss: 0.37
200 | loss: 0.18
300 | loss: 0.09
Коэффициенты модели: x1 1.162258
x2 1.324516
dtype: float64
'''