从零开始带你了解商业数据分析模型——线性回归模型实践演练

简介: 1. 如何在Altair KnowledgeStudio平台应用线性回归 1.1 为什么选择Altair KnowledgeStudio平台 绝大多数的数据分析项目都是遵照着CRISP-DM的行业标准流程 (详情可见:https://zhuanlan.zhihu.com/p/107757240)。

1. 如何在Altair KnowledgeStudio平台应用线性回归

1.1 为什么选择Altair KnowledgeStudio平台

绝大多数的数据分析项目都是遵照着CRISP-DM的行业标准流程 (详情可见:https://zhuanlan.zhihu.com/p/107757240)。
市面上常见的开源或商业数据分析软件大多需要从业人员掌握一定编程知识,且需要大量时间来编写代码并调试。这里需要强调的就是Altair KnowledgeStudio的强大之一在于无需编码,一切的操作都可以通过拖拽完成。下面我会用一个例子来展示如果使用Altair KnowledgeStudio来完成线性回归的建模操作。
这个例子从导入数据到最终模型预测大概需要10-15分钟的时间。操作简便,节约时间成本。 我们会用到的数据是一个有关鱼生长长度的数据集,其中包含了每条鱼的编号(index),年龄(age),生长水温(temp)和最终它的生长长度(length)。我们的目的是去研究鱼的长度与年龄和水温是否存在线性关系,以及存在怎样的的线性关系。

1.2 Altair KnowledgeStudio的线性回归

1.2.1 数据导入

数据在本地以Excel的格式存在,我们在Connect栏选择Excel Import 节点,并双击点开。

选择本地数据的所在路径,并为引入目标数据集命名。选择软件自动识别数据是否包含字节名称。设置好之后请点击next

选择需要导入的字节。在这里,我们知道鱼的编码与鱼的长度是无关的,因此我们可以将这一列数据排除。

点击Next,我们可以进一步确认每一个字节的数据类型,并且这里我们提供了预览该数据集的功能。

点击运行,我们就会看见一个绿色的,名为 fish的数据集自动生成了。

1.2.2 查看数据

双击fish数据集,我们可以看见在页面的最下方有很多不同的选项卡。它们涵盖了Altair KnowledgeStudio数据画像功能的重要部分。

比如说,在overview report 选项卡中,,点击calculate all,可计算出常见的统计指标。% of Missing Values可以选择每个字节的缺失值比例。如下图所示,三个字节均没有缺失值。

又比如,correlations选项卡中,可计算三个变量之间的相关系数,可以看一下age、temp与length的相关程度。便于后续选择模型。

如果您想了解更多选项卡的功能展示,请直接联系作者以获取更多资料。

1.2.3 异常值检验

因为线性回归模型对异常值极度敏感,极大异常值或极小异常值均会对模型造成不可预知的影响。检测数据是否存在异常值是建立每个线性回归模型的必须操作。
在Altair KnowledgeStudio中,我们可以通过Outlier Detector节点完成此操作。在Profile栏中拖出Outlier Detector, 并单机选中fish连线到Outlier Detector。

双击该功能节点,我们可以看见目标数据和设定结果数据名。这里大家可以看见,我们提供了多种计算距离的方法。根据不同的数据类型,和大家都这些检验方法的熟悉程度,大家可以自行选择不同算法。这里为了演示,我们接受默认算法。

点击下一步,选择我们需要检测的字节。

选好变量后,如果点击Next 再点击Run。同样的,这里会自动生成一个结果数据集。点开它,我们会发现,该数据中不存在异常值。

1.2.4 数据分箱

做预测分析时,我们通常会将数据集分成训练集和测试集。我们会用训练集来生成我们的模型结果,随后再用测试集来检测我们模型结果的好坏。
这里,我们可以通过Manipulate栏中的 Partition节点 将原数据集随机抽取70%的样本作为训练集,30%的样本作为测试集。
将fish数据集与partition相连,双击点开,点击add。可先添加训练集,完成后再次点击add,添加测试集。完成后点击run。会出现两个数据集。

分箱结果会如下图所示。

1.2.5 拟合线性回归模型

我们基于训练集拟合线性回归模型。在models栏中选择linear regression。将fish_train数据集与该模型相连。

并双击Linear Regression模型节点

在dependent variable中选择我们的被解释变量。红框的部分可以进行重要变量的选择,按照解释变量对被解释变量的影响程度进行选择,可以将对被解释变量影响不显著的变量剔除。而且用逐步选择也可一定程度上缓解多重共线。在independent variable中将解释变量选入,这里可以选择是否一定包含该变量。若没有,则会根据变量重要性选择。点击run。双击点开linear regression,可查看回归报告。
在output to view中选择currently selected sequence,可看模型最终拟合情况。读者也可在该栏中选择其他选项来看一下单变量的结果。
最终结果如下图

该表可以看出模型的拟合情况,其中Generalized R^2=0.855,F值为82.845,认为模型拟合程度较好,被解释变量的85.5%都可由这两个解释变量来解释。

这一张表是方差分析的表,同样可以看出结果还是不错的。

Independent Variable Statistics中表示的是解释变量的情况,其中Model Parameter表示的是其回归系数,后面是对变量是否显著进行的检验。其中P值均小于0.05,我们认为年龄和温度对鱼的长度是有显著影响的。

多重共线性检验:

Variance Inflation Factors是方差膨胀因子(VIF),VIF越大,显示共线性越严重。经验判断方法表明:当0这里年龄和温度的VIF均小于10,认为该模型不存在多重共线性。
最终模型结果为:

length=3472.564+28.135age-94.399temp

1.2.6 交叉验证

由于我们训练集只有41条数据。建模数据量的严重不足会出现模型过拟合问题。过拟合指的是被创建出来的模型,仅仅在训练数据中变现良好,如果用在未知数据上,结果可能会很差。
这个时候我们可以通过交叉验证看是否存在过拟合现象。交叉验证可以理解为:我们将原始数据复制成多个重复的样本,随后针对每一个样本做出分箱操作,建模并验证模型准确性。通过这个步骤,我们可以让原始数据里面的每个记录都有机会作为建立模型的数据,与此同时,我们可以让每个记录都有机会作为验证模型的数据。

在Evaluate模块中选择Cross Validation,将fish_train数据集和linear regression模型一起连过去,会发现该选项变蓝。双击点开。

这里K-Fold validation指的是我们准备复制多少次重复的样本,实施多少次类似的操作。这里我们选择默认值五次。随后点击Next。

这张表可以修改各字节的名字。这里我们选择不修改。点击Run

做完上述步骤后会出现一个html的report。双击点开。

从下面的结果图中,我们可以看到这五次验证的似然估计的均方误差(MSE)。发现每一次的MSE差别很大,说明之前模型拟合的不好,可能出现了过拟合现象。接下来我们可能需要重新回到数据本身和模型本身,去调整参数,去更正数据再次建立别的预测模型。

1.2.7 模型部署

假设我们已经找到了适合的模型,我们想要将模型结果落地,以供业务使用。Altair KnowledgeStudio主要提供了两种不同方案。

第一种是将模型的结果生成不同的代码。这些代码可以轻松的轻松的嵌入企业自身的IT系统中实现二次开发。我们可以从Action 模块中选择 Generate Code节点。
根据模型不同,企业自身的IT环境不同,我们可以最多从以下的代码中进行选择,常见的有Java,Python,SQL, PMML等。

第二种是,我们可以将新的数据导入到Altair KnowledgeStudio平台中,并利用建立好的模型进行新数据打分。同样的,我们可以从Action 模块中选择 Scoring节点。

在结果数据集中,我们可以找到对每一个记录的模型预测值,以及相应的预测原因。

2. 写在后面

目前暂定下一篇会写逻辑回归模型,如果大家对数据分析或者模型感兴趣,关于数据分析这一块大家还对什么内容感兴趣,欢迎在文后留言与我交流,也欢迎大家提出意见和建议。

相关文章
|
27天前
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【10月更文挑战第4天】Scikit-learn凭借高效、易用及全面性成为数据科学领域的首选工具,简化了数据预处理、模型训练与评估流程,并提供丰富算法库。本文通过实战教学,详细介绍Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优等关键步骤,助你快速掌握并优化数据分析与机器学习模型。从环境搭建到参数调优,每一步都配有示例代码,便于理解和实践。
78 2
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析:从入门到实践
使用Python进行数据分析:从入门到实践
37 2
|
22天前
|
SQL 分布式计算 数据挖掘
加速数据分析:阿里云Hologres在实时数仓中的应用实践
【10月更文挑战第9天】随着大数据技术的发展,企业对于数据处理和分析的需求日益增长。特别是在面对海量数据时,如何快速、准确地进行数据查询和分析成为了关键问题。阿里云Hologres作为一个高性能的实时交互式分析服务,为解决这些问题提供了强大的支持。本文将深入探讨Hologres的特点及其在实时数仓中的应用,并通过具体的代码示例来展示其实际应用。
116 0
|
2月前
|
数据采集 算法 搜索推荐
R语言营销数据分析:使用R进行客户分群的实践探索
【9月更文挑战第1天】R语言以其强大的数据处理和统计分析能力,在金融数据分析、营销数据分析等多个领域发挥着重要作用。通过R语言进行客户分群,企业可以更好地理解客户需求,制定精准的营销策略,提升市场竞争力和客户满意度。未来,随着大数据和人工智能技术的不断发展,R语言在营销数据分析中的应用将更加广泛和深入。
|
3月前
|
数据采集 机器学习/深度学习 算法
"揭秘数据质量自动化的秘密武器:机器学习模型如何精准捕捉数据中的‘隐形陷阱’,让你的数据分析无懈可击?"
【8月更文挑战第20天】随着大数据成为核心资源,数据质量直接影响机器学习模型的准确性和效果。传统的人工审查方法效率低且易错。本文介绍如何运用机器学习自动化评估数据质量,解决缺失值、异常值等问题,提升模型训练效率和预测准确性。通过Python和scikit-learn示例展示了异常值检测的过程,最后强调在自动化评估的同时结合人工审查的重要性。
86 2
|
3月前
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
【python】python母婴数据分析模型预测可视化(数据集+论文+PPT+源码)【独一无二】
【python】python母婴数据分析模型预测可视化(数据集+论文+PPT+源码)【独一无二】
|
3月前
|
数据可视化 算法 数据挖掘
【python】商业数据聚类-回归数据分析可视化(源码+数据)【独一无二】
【python】商业数据聚类-回归数据分析可视化(源码+数据)【独一无二】
|
3月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析的新手指南深入浅出操作系统:从理论到代码实践
【8月更文挑战第30天】在数据驱动的世界中,掌握数据分析技能变得越来越重要。本文将引导你通过Python这门强大的编程语言来探索数据分析的世界。我们将从安装必要的软件包开始,逐步学习如何导入和清洗数据,以及如何使用Pandas库进行数据操作。文章最后会介绍如何使用Matplotlib和Seaborn库来绘制数据图表,帮助你以视觉方式理解数据。无论你是编程新手还是有经验的开发者,这篇文章都将为你打开数据分析的大门。
|
3月前
|
机器学习/深度学习 搜索推荐 数据挖掘
【深度解析】超越RMSE和MSE:揭秘更多机器学习模型性能指标,助你成为数据分析高手!
【8月更文挑战第17天】本文探讨机器学习模型评估中的关键性能指标。从均方误差(MSE)和均方根误差(RMSE)入手,这两种指标对较大预测偏差敏感,适用于回归任务。通过示例代码展示如何计算这些指标及其它如平均绝对误差(MAE)和决定系数(R²)。此外,文章还介绍了分类任务中的准确率、精确率、召回率和F1分数,并通过实例说明这些指标的计算方法。最后,强调根据应用场景选择合适的性能指标的重要性。
375 0