多元回归最小二乘法Python
时间: 2023-11-29 22:46:18 浏览: 112
基于jupyter notebook的python编程—–利用梯度下降算法求解多元线性回归方程,并与最小二乘法求解进行精度对比
以下是多元线性回归的最小二乘法Python实现:
```python
import numpy as np
# 加载数据集
def loadDataSet(fileName):
dataMat = []
labelMat = []
fr = open(fileName)
for line in fr.readlines():
curLine = line.strip().split('\t')
fltLine = list(map(float, curLine))
dataMat.append(fltLine[:-1])
labelMat.append(fltLine[-1])
return dataMat, labelMat
# 多元线性回归的最小二乘法
def standRegress(xArr, yArr):
xMat = np.mat(xArr)
yMat = np.mat(yArr).T
xTx = xMat.T * xMat
if np.linalg.det(xTx) == 0.0:
print("This matrix is singular, cannot do inverse")
return
ws = xTx.I * (xMat.T * yMat)
return ws
# 加载数据集
xArr, yArr = loadDataSet("ex0.txt")
# 多元线性回归的最小二乘法
ws = standRegress(xArr, yArr)
print(ws)
```
其中,loadDataSet函数用于加载数据集,standRegress函数用于进行多元线性回归的最小二乘法计算。在这个例子中,我们使用ex0.txt数据集进行多元线性回归的最小二乘法计算。
阅读全文