Линейная регрессия (нормальное уравнение)

MediumAlgo
10:00
Лучше работает на десктопе
DSLinear RegressionNumPy

Реализуйте линейную регрессию методом нормального уравнения (аналитическое решение).

Формула

β = (X^T X)^{-1} X^T y

Принимает матрицу признаков X и вектор y. Добавьте столбец единиц (intercept) самостоятельно.
Верните коэффициенты (intercept первый), каждый округлён до 4 знаков.

Сигнатура

def linear_regression(X: list[list[float]], y: list[float]) -> list[float]:

Примеры

linear_regression([[1.0],[2.0],[3.0],[4.0]], [2.0,4.0,6.0,8.0]) → [0.0, 2.0]
(y = 0 + 2x → intercept = 0, коэффициент при x = 2)

Constraints

- 2 ≤ n ≤ 1000
- 1 ≤ d ≤ 50
- X^T X гарантированно обратима

Примеры

Пример 1

Вход:
X = [[1],[2],[3],[4]]
y = [2,4,6,8]
Выход:[0,2]

Пример 2

Вход:
X = [[1],[2],[3]]
y = [3,5,7]
Выход:[1,2]

Пример 3

Вход:
X = [[1,1],[1,2],[2,1],[2,2]]
y = [6,8,7,9]
Выход:[3,1,2]
Консоль
Нажмите Run или Ctrl+Enter для запуска