正规方程公式:\Omega=(X^TX)^{-1}X^Ty

使用np.linalg.inv求逆

import numpy as np
def linear_regression_normal_equation(X: list[list[float]], y: list[float]) -> list[float]:
    X = np.array(X)
    y = np.array(y).reshape(-1, 1) # -1 means auto
    X_transpose = X.T
    omega = np.linalg.inv(X_transpose.dot(X)).dot(X_transpose).dot(y)
    return np.round(omega, 4).flatten().tolist()