正规方程公式:
使用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()

京公网安备 11010502036488号