首页 > 试题广场 >

使用正规方程的线性回归

[编程题]使用正规方程的线性回归
  • 热度指数:1972 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
编写一个使用正规方程执行线性回归的函数。
函数输入是一个矩阵 X(特征)和向量 y(目标),返回线性回归模型的系数。
最后的答案四舍五入保留小数点后四位。

输入描述:
第1行输入矩阵 X,第2行输入向量 y。


输出描述:
输出线性回归模型的系数。函数返回类型是列表类型,第一个是权重,第二个是偏置。
示例1

输入

[[1, 1], [1, 2], [1, 3]]
[2, 2, 3]

输出

[1.3333, 0.5]

备注:
1.Python3对应的输入、输出已给出,您只用实现核心功能函数即可。
2.支持numpy、scipy、pandas、scikit-learn库。
import numpy as np
def linear_regression_normal_equation(X: list[list[float]], y: list[float]) -> list[float]:
    # 实现代码
    a = np.array(X)
    b = np.array(y)
    c = np.linalg.inv(a.transpose().dot(a)).dot(a.transpose().dot(b))
    c[0] = np.round(c[0], 4)
    return np.squeeze(c).tolist()

if __name__ == "__main__":
    import ast
    x = np.array(ast.literal_eval(input()))
    y = np.array(ast.literal_eval(input())).reshape(-1, 1)

    # Perform linear regression
    coefficients = linear_regression_normal_equation(x, y)

    # Print the coefficients
    print(coefficients)

发表于 今天 13:51:03 回复(0)