机器学习——多变量线性回归

本文介绍了使用多变量线性回归预测房价的方法,包括数据预处理、模型定义、代价函数、梯度下降优化以及模型评估。通过特征缩放加速梯度下降收敛,并展示了模型预测与实际值的差距,最终评估模型的精度。
摘要由CSDN通过智能技术生成

房价预测问题

这里我们还是用房价预测的问题来举例说明,你有一个房子需要转卖,但不知道 能卖多少,需要进行预测,而对于房子能卖多少钱,能对这个结果产生影响的不单单是,房屋的面积了,房子的地理位置,房子的楼层数等都会对价格产生影响,这样我们就需要使用多变量线性回归来预测房价了

解决思路

1.这里我们需要先去处理一下数据,先对模型的特性值进行特征缩放,为什么要进行特征缩放呢,
第一点是可以帮助梯度下降更快的收敛
第二点是帮助每个模型找到合适的权重,不会对范围较大的特征投入大量的精力
这里的特征缩放我们用到的是标准化x=(x-μ)/σ 而他的系数μ代表的是平均值σ代表的是标准差
2.接下来我们需要去定义模型hθ(x)=θ01X+θ2X,因为矩阵的向量的性质我们可以把原式写成hθ(x)=Xθ,这样可以表示多个特征对结果的影响
3.模型定义好后需要看一下预测的值与实际值的差距,
这就用到了代价函数J(θ)=1/(2m) ∑ i = 1 m ( h ( x i ) − y i ) 2 \sum_{i=1}^m(h(x^i)-y^i)^2 i=1m(h(xi)yi)2
4.计算完代价后就要开始梯度下降更新θ,为了控制梯度下将的的速度,我们可以加一个学习率α
这个过程我们可以类比自行车下坡,学习率过小时,θ更新的慢,就像是你下坡时踩着刹车一样,
而学习率过大时,可能会越过最低点,导致θ无法收敛,找不到最好的θ,这个就像是下坡时你还加速往下冲,就会导致在临近坡底时,速度过快控制不了这个速度。
5.最后在测一下这个模型的精度看一下这个模型的好坏(1-μ)v,系数μ代表预测值与实际值的方差
v代表真实值与平均值的方差

代码展示

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 读取数据
data = np.loadtxt(r'C:\Users\shy\PycharmProjects\untitled\week3\ex1data2.txt',delimiter=','
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值