七月上旬更新速递丨 聚焦集成、安全与AI深度进化

更新亮点: 本次重点强化系统集成能力与AI认知升级,新增4大核心模块9项资源,优化4项资源,点击标题了解(持续互动赢麦豆,解锁高阶技能)

重点推荐:《场景化数据分析实战》课程操作手册

配套六月王炸课程的全套落地指南,手把手教你复现实战场景!

二、实战技巧分享

高效处理资源集成难题》→ 从基础出发,深入探究集成的秘密

三、开发技能突破

第三方系统调用Smartbi接口》→讲解系统集成时的jar包获取,以及集成时代码调用的基本流程。

集成接口介绍》→梳理Smartbi目前提供的接口,以及不同接口的调用流程。

AI每日一学

DeepSeek-R1-0528模型升级:推理与生态的双重升级》→ 解析模型性能提升40%的关键技术 (技术前沿)

简单总结一下机器学习中的几种常见的学习方式与区别》→ 监督/无监督/强化学习差异与应用场景图解 (基础重构)

五、资源更新

CAS单点登录 V2版》上线→ 接入到 CAS 平台中,并实现单点登录

组织/用户/角色信息管理API接口》上线→ 一套 HTTP API的组织、用户、角色信息管理接口

竹云统一身份认证平台组织用户同步对接》上线→ Smartbi封装对应的服务接口,给竹云的统一身份认证平台实时调用,完成组织、用户和角色信息的实时同步。

交互式仪表盘支持自定义字体》优化→ 修复了文本组件编辑状态不生效的问题

只允许外网某种移动端APP访问》优化→ 针对V11版本,增加了钉钉、企业微信访问限制功能

AD域(LDAP/LDAPS)登录验证》优化→ 修复了“更新白名单状态之前没有判断判断用户是否存”的问题

元数据分析落地到知识库》优化→ 增加获取资源创建者的逻辑判断,对空值空对象等情况做优化

麦粉社区
>
帖子详情

[数据挖掘] 手把手教你做线性回归分析,实用且通俗易懂!

智分析 发表于 2021-9-28 02:18
发表于 2021-9-28 02:18:18
  线性回归分析是数据挖掘里一个非常重要的方法,相信大家以前在高中或者大学时都学过一点点线性回归的概念。在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量因变量之间关系进行建模的一种回归分析。听着有点复杂,简单来说,就是看一组零散的数据是否存在相关性。线性回归分析涉及到的数学理论知识比较复杂,本文不会涉及到这些数学理论知识,仅是介绍应用场景以及制作方法,请大家放心食用。

1.png

一、应用场景:
  在开始之前,我们先来了解一下线性回归分析有什么用。线性回归分析在日常工作中运用非常广泛,通过线性回归,我们可以用模型去描述两组数据中是否存在相关性。例如在分析销售数据时,我们经常要对广告费用以及销售额的关系进行判断,评估广告费用对销售额的作用到底有多大,公司应不应该加大广告费投入,如果未来投入一定的广告费用,预测销售额可以达到多少这一系列问题都可以通过线性回归分析去得出答案。

2.png

  只要存在两组以上的数据,我们都可以利用线性回归的方法去对其进行检验。下面我利用Python去对线性回归分析的方法和过程进行详细的描述,力求以最简洁语言带你走进数据挖掘的神秘大门。

二、Python实现过程:
第一步:数据导入
  首先要做的就是把本地的EXCEL或者CSV文件读取到Python里,我们可以引用pandas库去读取数据:

3.png

  读取成功后,我们先来打印看一下数据是否和EXCEL里的是一致的:

4.png

第二步:计算相关系数
  上面我们说过了,只要存在两组数据,我们就可以检验其是否存在相关性,在数学上通常是用皮尔逊相关系数来进行检验,这个数值越接近1,就代表两组数据越具有相关性,我们可以用corr这个函数来对广告费以及销售额进行检验:

5.png

  接下来我们打印一下data1,大家可以看到相关系数的值已经算出来了,达到了0.93,非常接近1,说明这两组数据具有非常高的相关性:

6.png

第三步:画图
  为了更加直观地对这两组数据进行呈现,我们可以画一个散点图,这时要引入另外一个库:matplotlib,首先把广告费用设置为X轴,把销售额设置为Y轴,然后再利用plot()函数进行画图,最后再利用利用show()进行图表呈现:

7.png

  打印一下,我们看看图形的效果,从图中可以看中,这个散点图里面所有点的排列基本是在一条直线上的,拟合的非常紧密,说明广告费用与销售额是呈正相关的,广告费用越多,销售额也会随之增长,这也对我们上面计算出来的相关系数提供了一个非常好的佐证:

8.png

第四步:建立线性回归模型
  线性回归的方程我们可以用y=ks+b这个公式来表示,其中x是自变量,y是因变量,k是斜率,b是直线在轴上的截距。接下来我们就可以对上面的这组数据去建立线性回归模型,这里要引用的是sklearn库,这个库是的主要作用是进行机器学习。首先先定义一个线性回归的对象LinearRegression(),然后再利用fit()函数对X、Y的值进行模型训练,最后要输出两个数据,一个是coef_,代表k值,另一个是intercept_,代表b值:

9.png

  输出后的数据如下,k是17.3b是291.9

10.png

  这里我们可以检验一下模型的拟合程度,这里可以用score()函数进行验证,这个代表的意思是,数值越接近1,代表这个模型的拟合程度就越好:

11.png

  结果算出来是0.879,说明模型的拟合程度非常好,可信度非常高,也就是可以投入到实际应用中去使用:

12.png

第五步:数据预测
  从上面的步骤中我们得知了k和b的值,只要有x的值,那么就可以算出y的值是多少了,通常我们可以利用这个原理去对数据进行预测。这里可以利用predict()函数接入一个参数对数据进行预测,例如下面我们看看广告费在20万的时候,销售额预计会有多少:

13.png

  最后算出来的销售额是638万:

14.png

三、后续建议
  从python的实现过程来看,虽然通过写代码的形式可以把整个线性回归分析完美地实现了,但是毕竟大部分小伙伴都没有接触过这门编程语言,如果真要用python去做的话可能会难度比较大。那么有没有更加简洁一点的方法呢?答案是肯定的,下面我开始尝试用smartbi这个工具对上面的流程进行简化。

15.png

  进入数据挖掘的界面后,可以看到左边的工具栏上有很多组件,这个就是ETL的工作界面。ETL在数据清洗上运用比较广泛,可以把很多复杂、不规则的数据源治理的井然有序。如果把ETL和数据挖掘结合起来,必然可以大幅提高数据分析的效率。

16.png


  第一步要做的是先把数据源读取到ETL的界面里,我们可以把EXCEL文件这个组件拖拽进来,并把上面的广告费用的EXCEL文件读取进来:

17.png

  如果EXCEL文件中存在着多个sheet,还需要把读取Excel sheet这个组件拖拽进来,并读取您的目标sheet:

18.png

  读取完成后,可以先对数据源进行预览:

19.png

  我们先来计算一下广告费用与销售额的相关系数怎么算出来的,在统计分析中我们可以看到相关性分析的组件,把它拖拽进来,并与上面的组件进行相连:

20.png

  鼠标选中相关系分析,在右边的待选列里把销售额和广告费用选中,并移动到右边:

21.png

  最后我们看一下执行后的输出效果,点击广告费用与销售额中间的区域,可以看到相关性系数是0.94,这个数据和我们上面用Python算出来的结果是一致的:

22.png

  由于篇幅有限,散点图、数据预测等其他功能实现的方法就不多做介绍了,有兴趣的小伙伴可以自行去研究一下。


高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 0关注人数 7219浏览人数
最后回复于:2021-9-28 02:18
快速回复 返回顶部 返回列表