python线性回归

一.理论基础

1.回归公式
  对于单元的线性回归,我们有:f(x) = kx + b 的方程(k代表权重,b代表截距)。
  对于多元线性回归,我们有:
   在这里插入图片描述
  或者为了简化,干脆将b视为k0·x0,,其中k0为1,于是我们就有:
   在这里插入图片描述
2.损失函数
  损失函数是用于衡量数据集真实值与预测值的误差的函数,其值越小,说明误差越小,模型模拟出来的效果也就越好。
在这里插入图片描述
3.误差衡量
  在线性回归中,我们可以通过可视化的方式来对数据的预测值和真实值进行逐一的比较,从而得出模型效果好坏的结论,但是如果仅仅依靠可视化的表示方式,不能严谨地对模型进行量化的评估。因此,我们导入以下指标,以供模型的评价。

  MSE(平均平方误差,mean squared error):总体上看,y的预测值与真实值之间的距离越小,则MSE越接近于0,则模型的效果越好。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201218172516972.png

  RMSE(root of mean squared error),是MSE的开根号:同MSE。

在这里插入图片描述

  MAE(平均绝对值误差,mean absolute error):即预测值与真实值绝对值累加的平均数。
   在这里插入图片描述

  R方:R方同样是用来描述模型好坏的指标,范围为[0,1],其值越接近1则表示模型的误差越小。其中,TSS是与上方的RSS抵消,使得RSS/TSS不会超过1,从而使得R方的值不会低于0。所以在训练集当中R方的范围为[0,1]。而由于训练集测试出来的模型是机器学习出来适用于训练集上的,所以将训练出来的模型运用于测试集时,有一定的可能会出现得出的R方小于0的情况,这种情况下则说明训练出来的模型不太好。
   在这里插入图片描述

二.代码实现

  本次,我们将用iris数据集实现单元线性回归的机器学习,使用boston数据集实现多元线性回归的机器学习。在python中,单元线性回归与多元线性回归的操作完全一样,这里只是为了演示而将其一分为二。
  1.鸢尾花花瓣长度与宽度的线性回归

# 导入鸢尾花数据集
from sklearn.datasets import load_iris
# 导入用于分割训练集和测试集的类
from sklearn.model_selection import train_test_split
# 导入线性回归类
from sklearn.linear_model import LinearRegression
import numpy as np

iris = load_iris()

'''
iris数据集的第三列是鸢尾花长度,第四列是鸢尾花宽度
x和y就是自变量和因变量
reshape(-1,1)就是将iris.data[:,3]由一维数组转置为二维数组,
以便于与iris.data[:,2]进行运算
'''
x,y = iris.data
  • 8
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值