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

MediumML coding
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]:

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 для запуска