数据挖掘有很多重要的办法,线性回归剖析就是其中之一。咱们在高中和大学都有接触过线性回归的概念,这里就不赘述了。本文也不会波及到无关数学实践方面的常识,还是以利用场景、操作方法的介绍为主。
一、利用场景:
首先,一起来理解一下线性回归剖析的作用。在咱们的日常生活中,线性回归剖析是会被经常用到的。使用线性回归剖析,咱们能够理解到两组数据间有没有存在相关性。如,当咱们想晓得广告费用的投入对销售额增长的影响水平时,就能够使用。公司应不应该加大广告费投入,如果将来投入肯定的广告费用,预测销售额能够达到多少…这一系列问题都能够通过线性回归剖析去得出答案。
线性回归分析方法使用的前提是要具备两组以上的数据,而后就能够开始利用测验啦。上面给大家演示一下线性回归剖析的办法、操作过程,用到的工具是 Python。
二、Python 实现过程:
第 1 步:数据导入
首先要做的就是把本地的 EXCEL 或者 CSV 文件读取到 Python 里,咱们能够援用 pandas 库去读取数据:
待数据读取胜利后,咱们须要对数据进行确认,用到的办法是将打印数据与 EXCEL 数据进行比照:
第 2 步:计算相关系数
如上文所说,线性回归剖析的前提是要有 2 组数据。在数学上通常是用皮尔逊相关系数来进行测验,这个数值越靠近 1,就代表两组数据越具备相关性,咱们能够用 corr 这个函数来对广告费以及销售额进行测验:
而后,打印 data1,可见相关系数的值就曾经得出了。数据为 0.93,与 1 十分靠近,有数据可知这 2 组数据的相关性是十分高的:
第 3 步:画图
为了更加直观地对这两组数据进行出现,咱们能够画一个散点图,接入 matplotlib,X 轴为广告费用,Y 轴为销售额设置。接着利用 plot()函数来画图,最初利用 show()函数进行图表出现:
打印一下,咱们看看图形的成果,从图中能够看中,散点图点排列根本在一条直线上的,由此可知广告费用与销售额是呈正相干的,广告费用越多,销售额也会随之增长,这也对咱们下面计算出来的相关系数提供了一个十分好的佐证:
第 4 步:建设线性回归模型
用 y =ks+ b 公式示意线性回归的方程,X 为自变量、Y 为因变量、K 为斜率、b 为直线在轴上的截距。接入 sklearn 库,对着下面的数据建设线性回归模型,sklearn 库次要是进行机器学习。先利用 LinearRegression() 对象定义,再利用 fit()函数对 X、Y 的值进行模型训练,最初输入 coef_,代表 k 值、是 intercept_,代表 b 值两个数据:
输入后的数据如下,k 是 17.3,b 是 291.9:
利用 score()函数对模型的拟合水平进行测验,当数值越靠近 1,就代表该模型的拟合水平越好:
计算结果进去了,0.879,曾经十分靠近 1 了,可见模型的拟合水平很好,能投入到理论利用中去应用:
第 5 步:数据预测
k 和 b 的值也进去了,当初只须要 x 的值就可能推算得出 y 值数据,当初咱们能够利用这个原理去对数据进行预测。这里能够利用 predict()函数接入一个参数对数据进行预测,例如上面咱们看看广告费在 20 万的时候,销售额预计会有多少:
最初算进去的销售额是 638 万:
三、后续倡议
从 python 的实现过程来看,通过写代码的模式可能实现线性回归剖析的整个过程,然而毕竟大部分小伙伴都没有接触过这门编程语言,如果真要用 python 去做的话可能会难度比拟大。那么有没有更加简洁一点的办法呢?当然有!再给大家介绍一个更加简便的办法,用到的工具是 smartbi。
以后界面为数据挖掘界面,工具栏位于界面的右边,能够看到工具栏上的组件有很多。这个也就是 ETL 工作界面,ETL 常利用于数据荡涤上。ETL 的数据源治理能力十分杰出。如果把 ETL 和数据挖掘联合起来,必然能够大幅提高数据分析的效率。
第一步要做的是先把数据源读取到 ETL 的界面里,咱们能够把 EXCEL 文件这个组件拖拽进来,并把下面的广告费用的 EXCEL 文件读取进来:
如果 EXCEL 文件中存在着多个 sheet,还须要把读取 Excelsheet 这个组件拖拽进来,并读取您的指标 sheet:
实现数据读取后,预览数据源:
接下来是广告费用、销售额的相关系数计算,将相关性剖析的组件拖拽进来,将其和下面的组件进行连贯:
鼠标选中相关系剖析,在左边的待选列里把销售额和广告费用选中,并挪动到左边:
查看输入成果,只须要点击广告费用、销售额的两头区域,相关性系数为 0.94。该数据与 Python 计算结果统一:
因为篇幅无限,散点图、数据预测等其余性能实现的办法就不多做介绍了,有趣味的小伙伴能够自行去钻研一下。