gpt4 book ai didi

python - 使用 Python numpy 进行线性回归

转载 作者:太空狗 更新时间:2023-10-29 21:14:33 24 4
gpt4 key购买 nike

我正在尝试做一个简单的线性回归函数,但继续遇到

numpy.linalg.linalg.LinAlgError: Singular matrix error

现有函数(带有调试打印):

def makeLLS(inputData, targetData):
print "In makeLLS:"
print " Shape inputData:",inputData.shape
print " Shape targetData:",targetData.shape
term1 = np.dot(inputData.T, inputData)
term2 = np.dot(inputData.T, targetData)
print " Shape term1:",term1.shape
print " Shape term2:",term2.shape
#print term1
#print term2
result = np.linalg.solve(term1, term2)
return result

我的测试数据到控制台的输出是:

In makeLLS:
Shape trainInput1: (773, 10)
Shape trainTargetData: (773, 1)
Shape term1: (10, 10)
Shape term2: (10, 1)

然后它在 linalg.solve 行上出错。这是一个教科书线性回归函数,我似乎无法弄清楚它为什么会失败。

什么是奇异矩阵误差?

最佳答案

如另一个答案中所述,linalg.solve 需要一个满秩矩阵。这是因为它试图求解矩阵方程,而不是进行适用于所有等级的线性回归。

线性回归有几种方法。我建议的最简单的方法是标准最小二乘法。只需使用 numpy.linalg.lstsq 代替。包含示例的文档是 here .

关于python - 使用 Python numpy 进行线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3920571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com