题解 | 使用正规方程的线性回归
使用正规方程的线性回归
https://www.nowcoder.com/practice/c497c2c49ea843898731bb14accc04ac
import numpy as np
def linear_regression_normal_equation(X, y):
X = np.array(X)
y = np.array(y)
results = np.linalg.lstsq(X, y, rcond=None)
theta = results[0]
# 将结果转换为扁平化列表并四舍五入
final_coeffs = [round(float(c), 4) for c in theta]
return final_coeffs
# 测试输入
X = [[1, 1], [1, 2], [1, 3]]
y = [2, 2, 3]
print(linear_regression_normal_equation(X, y))
# 实际输出应匹配预期输出: [1.3333, 0.5]