Apache Spark机器学习3.2 整体视图的方法

简介:

3.2 整体视图的方法


正如上一节讨论的,本节我们将选择分析的方法或模型(方程)来完成从商业实例到机器学习方法的映射。

要评估影响销售团队成功的不同因素,我们有很多方法可以使用。作为例子,我们选择易于解释和在Spark上易于实现的三个模型:(a)回归模型,(b)结构方程模型和

(c)决策树。

选择好分析方法或模型后,我们需要准备因变量和编程。后续几节将详细介绍。

3.2.1 回归模型

为了在Spark上使用回归模型,我们需要关注以下3点:

线性回归或是逻辑回归

回归方法是最成熟和最广泛使用的模型,主要用于表示不同变量对一个因变量的影响。使用线性回归方法还是逻辑回归方法主要取决于变量间的关系是线性还是非线性。这里,我们对变量间的关系不是很确定,因此将使用两个方法,根据他们的结果来选择部署哪个。

准备因变量

为了使用逻辑回归方法,我们需要通过中值法对目标变量或因变量(销售团队的成功变量,目前从0到100)重新编码为0或1。

准备编程

在MLlib中,我们可以使用下面的代码进行回归建模。现在使用Spark MLlib中的随机梯度下降法进行线性回归建模。

 

对于逻辑回归,我们使用下面的代码:

 

更多关于如何使用MLlib进行线性回归建模的信息,请访问:http://spark.apache.org/docs/latest/mllib-linear-methods.html#linear-least-squares-lasso-and-ridge-regression。

在R语言环境中,我们可以使用lm函数进行线性回归,使用glm函数进行逻辑回归,设置 family=binomial()。

3.2.2 SEM方法

为了在Spark上进行结构方程建模(Structural Equation Modeling,SEM),我们需要关注以下3点:

SEM介绍说明

结构方程建模可以看作是线性回归建模的扩展,因其由几个与回归方程类似的线性方程组成。然而,该模型同时估计所有方程,并考虑方程间的内部关系,因此较回归模型有更少的偏差。结构方程建模包括结构化建模和潜在变量建模两部分,而我们只使用结构化建模。

准备因变量

我们可以使用销售团队成功变量(范围从0到100)作为我们的目标变量。

准备编程

我们将使用Databricks环境下的R notebook进行编程,并使用R语言的SEM包。虽然有很多结构方程建模包可以选择,例如lavaan,但是我们在本项目中还是从易于学习角度出发使用SEM包。

我们使用install. packages("sem", repos="http://R-Forge.R-project.org")方法将SEM包加载到R notebook环境。接下来,我们执行R语言代码library(sem)。

之后,我们使用specify.model()函数在R notebook环境中指定模型,代码如下:

 

3.2.3 决策树

为了在Spark上进行决策树建模,我们需要关注以下3点:

决策树选择

决策树主要用于分类场景建模,在我们的例子中,决策树逐一将它们分为成功或者失败。决策树也是一个非常成熟和广泛使用的方法。决策树存在过拟合问题,因此需要后向归一化来消除过拟合。正因为如此,我们只使用简单的线性决策树,而不是冒昧地使用更加复杂的决策树,例如随机森林算法。

准备因变量

为了使用决策树模型,我们将销售团队的级别分为两类:成功或者失败。这与我们使用逻辑回归时一样。

准备编程

对于MLlib,我们可以使用如下代码:

 

更多关于MLlib上使用决策树的信息,请访问:http://spark. apache.org/docs/latest/mllib-decision-tree.html。

使用Spark上的R notebook,我们使用R语言的rpart包中的rpart函数进行计算。对于rpart函数,我们需要指定分类器和所有需要使用的特征。

相关文章
|
机器学习/深度学习 存储 设计模式
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。
711 8
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
939 8
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1923 6
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
397 28
|
机器学习/深度学习 数据采集 算法
Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价中的创新方法与实践(166)
本文围绕 Java 大数据机器学习模型在金融衍生品定价中的应用展开,分析定价现状与挑战,阐述技术原理与应用,结合真实案例与代码给出实操方案,助力提升金融衍生品定价的准确性与效率。
Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价中的创新方法与实践(166)
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
2751 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
机器学习/深度学习 分布式计算 大数据
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
886 15
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
1024 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
机器学习/深度学习 数据采集 数据挖掘
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
因果推断方法为特征工程提供了一个更深层次的框架,使我们能够区分真正的因果关系和简单的统计相关性。这种方法在需要理解干预效果的领域尤为重要,如经济学、医学和市场营销。
919 1
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
780 6

推荐镜像

更多