实验4 线性回归
【实验目的】掌握正规化法和梯度下降法实现线性回归算法
【实验内容】处理样本,使用梯度下降法和正规化法算法进行函数模型预测
【实验要求】写明实验步骤,必要时补充截图
1.使用正规化方法计算下列样本的预测函数(特征归一化后参数有什么变化)
预测函数为:h(x) = 188.40031946 + 0.3866255 * X1 - 56.13824954 * X3 -92.9672536 * X4 - 3.73781915 * X5
2.读取ex1data2.txt中的数据,建立样本集,使用正规化法获取(房屋面积,房间数量)与房屋价格间的预测函数
预测函数为: h(x)=89597.90954361 + 139.21067402 * X1 - 8738.01911255* X2
3.读取ex1data1.txt中的数据,建立样本集,使用梯度下降法获取公司人数与利润关系的预测函数。并在坐标图中显示预测函数和样本点
4.读取ex1data2.txt中的数据,建立样本集,使用梯度下降法获取(房屋面积,房间数量)与房屋价格间的预测函数。并在三维坐标图中显示预测函数和样本点
🐱具体代码
1.使用正规化方法计算下列样本的预测函数(特征归一化后参数有什么变化)
import numpy as np # 导入 NumPy 库
X = np.array([
[1, 2104, 5, 1, 45],
[1, 1416, 3, 2, 40],
[1, 1534, 3, 2, 30],
[1, 852, 2, 1, 36]
])
y = np.array([460,232,315,178])
theta=np.linalg.pinv(X.T@X)@X.T@y #求theta公式
theta
#X 是特征矩阵,y 是目标变量向量
#使用正规化方法来解决线性回归问题
#首先计算 X 的转置与自身的乘积(X.T@X),
#然后计算这个乘积的伪逆,并与 X 的转置和目标向量 y 的乘积相乘,
#从而得到参数向量 theta
2.读取ex1data2.txt中的数据,建立样本集,使用正规化法获取(房屋面积,房间数量)与房屋价格间的预测函数
import pandas as pd # 导入 pandas 库
import numpy as np # 导入 numpy 库
# 1.读取数据,建立样本集
path = 'ex1data2.txt'
data2 = pd.read_csv(path,names=['Size','Bedrooms','