首页 > 解决方案 > 如何从系数矩阵打印回归方程?

问题描述

我有一个回归系数矩阵。自变量是x, x^2, x^3, 直到x^NwhereN是我选择的参数。我想打印一行内容如下。

“回归模型是:y= a1 x+ a2 x^2+ a3 x^3 + ... + x^N

必须打印系数矩阵中的数字来代替a1,a2等。代码应该N同样适用于不同的情况。

标签: pythonlinear-regression

解决方案


遍历您的系数列表并使用每个术语的文本表示构建一个字符串列表,然后将它们与“+”连接以创建方程。

def f(coefficients):
  def term(coef, power):
    coef = coef if coef != 1 else ''
    power = (f'^{power}') if power > 1 else ''
    return f'{coef}x{power}'
  terms = []
  for power, coef in enumerate(coefficients, start=1):
    if coef != 0:
      terms.append(term(coef, power))
  return 'y = ' + ' + '.join(terms)

equation = f([8, 7, 0, -9, 1])
print(equation) # prints 'y = 8x + 7x^2 + -9x^4 + x^5'

推荐阅读