回归分析 | 使用Sklearn做线性回归分析及 rmse 和 mae 讲解

摘要:
一概述回归分析模型:销售额=93765+0.3*百度+0.15*社交媒体+0.05*电话直销+0.02*短信线性回归研究自变量x对因变量y影响的一种数据分析方法可以表示为Y=ax+b+ε,其中Y为因变量,x为自变量,a为影响系数,b为截距,ε为随机误差。
一 概述
  • 回归分析模型:销售额 =93765+0.3* 百度+0.15 * 社交媒体+0.05 *电话直销+0.02 * 短信
  • 线性回归
    • 研究自变量 x 对因变量 y 影响的一种数据分析方法
    • 可以表示为Y=ax+b+ε,其中Y为因变量,x为自变量,a为影响系数,b为截距,ε为随机误差。
  • 常见应用场景
    • 主要应用场景是进行预测和控制例如计划制定、KPI制定、目标制定等
    • 也可以基于预测的数据与实际数据进行比对和分析,确定事件发展程度并给未来行动提供方向性指导
二 案例演示

目的:计算各个宣传渠道对销售额的影响

1 预处理过的数据

回归分析 | 使用Sklearn做线性回归分析及 rmse 和 mae 讲解第1张

2 相关性分析

df.corr()[['revenue']].sort_values(by='revenue', ascending=False)

回归分析 | 使用Sklearn做线性回归分析及 rmse 和 mae 讲解第2张

3 线性回归分析 建模

注意:数据有缺失会报错

1> 建模核心代码

from sklearn.linear_model importLinearRegression
line_model =LinearRegression()

#设定因变量
y = df['revenue']
#设定自变量
x = df[['local_tv','person','instore']]

a = line_model.fit(x,y)

2> 指标

自变量系数

line_model.coef_

截距

line_model.intercept_

4 模型评估

模型得分:score 越高越好

score = line_model.score(x,y)

利用特征去计算(预测)y 的预测值

prediction = line_model.predict(x)

计算误差

error = prediction - y

均方根误差 rmse 越小越好【后附公式】

rmse = (error**2).mean()**0.5

计算平均绝对误差mae越小越好【后附公式】

mae = abs(error).mean()

附:

1> 直接用sklearn 中的方法计算rmse 和mae

importnumpy as np
from sklearn.metrics importmean_squared_error, mean_absolute_error

#根均方误差(RMSE)
np.sqrt(mean_squared_error(y_true,y_pred))

#平均绝对误差(MAE)
mean_absolute_error(y_true, y_pred)

2> 公式

回归分析 | 使用Sklearn做线性回归分析及 rmse 和 mae 讲解第3张

【标准差】是用来衡量一组数自身的离散程度,
【均方根误差】是用来衡量观测值同真值之间的偏差,它们的研究对象和研究目的不同,虽然计算过程有些相似

3> 可视化 API

importseaborn as sns
sns.regplot('local_tv', 'revenue', df)

回归分析 | 使用Sklearn做线性回归分析及 rmse 和 mae 讲解第4张

免责声明:文章转载自《回归分析 | 使用Sklearn做线性回归分析及 rmse 和 mae 讲解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql常用的信息查询函数docker使用以及dockerfile编写下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用scikit-learn和pandas学习线性回归

对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题 没有数据,当然没法研究机器学习啦。:) 这里我们用UCI大学公开的机器学习数据来跑线性回归。 数据的介绍在这:http://archive.ics.uci.edu/ml/datasets/...

信号与系统

1. 连续时间和离散时间信号 1.1. 连续时间和离散时间信号的定义 连续时间信号的自变量是连续可变的,信号在自变量的连续值上都有定义;而离散时间信号的自变量仅仅定义在离散时刻点上,也就是自变量仅取在一组离散值上。 为了区分这两类信号,我们用 (t) 表示连续时间变量,而用 (n) 表示离散时间变量。连续时间信号表示为 (x(t)),离散时间信号表示为...

SPSS Modeler数据挖掘:回归分析

SPSS Modeler数据挖掘:回归分析 1 模型定义 回归分析法是最基本的数据分析方法,回归预测就是利用回归分析方法,根据一个或一组自变量的变动情况预测与其相关的某随机变量的未来值。 回归分析是研究一个变量(被解释变量)与另一个或几个变量(解释变量)的具体依赖关系的计算方法和理论。 回归分析的主要内容: 从一组数据出发,确定某些变量之间的定量关系,...

五种回归方法的比较

 引言  线性和逻辑回归通常是人们为机器学习和数据科学学习的第一个建模算法。 两者都很棒,因为它们易于使用和解释。 然而,它们固有的简单性也有一些缺点,在许多情况下它们并不是回归模型的最佳选择。 实际上有几种不同类型的回归,每种都有自己的优点和缺点。   在这篇文章中,我们将讨论5种最常见的回归算法及其属性,同时评估他们的性能。 最后,希望让您更全面地了解...

SPSS实例教程:多重线性回归,你用对了么

SPSS实例教程:多重线性回归,你用对了么 在实际的医学研究中,一个生理指标或疾病指标往往受到多种因素的共同作用和影响,当研究的因变量为连续变量时,我们通常在统计分析过程中引入多重线性回归模型,来分析一个因变量与多个自变量之间的关联性。 一、多重线性回归的作用 多重线性回归模型在医学研究领域得到了广泛的应用,其作用主要体现在以下几个方面: 1、探索对于...

Stanford机器学习笔记-1.线性回归

Content: 1. Linear Regression 1.1 Linear Regression with one variable 1.1.1 Gradient descent algorithm 1.2 Linear Regression with multiple variable 1.2.1 Feature Scaling 1.2.2 Fea...