Apache Spark机器学习3.3 特征准备

简介:

3.3 特征准备


在前面几节,我们选择了模型并且准备了监督学习所需的因变量。本节,我们需要准备自变量,他们是影响因变量因素(销售团队的成功)的所有特征。对于这项重要的工作,我们需要将400多个特征约减为合理的一组特征,以适应最终的建模需要。为此,我们使用PCA方法,利用专业知识,然后执行特征选择任务。

3.3.1 PCA

PCA是非常成熟且经常使用的特征约减方法,经常用来寻找一个小的变量集合以表示最显著的变化。严格地讲,PCA的目标是寻找一个低维度子空间来尽可能获取数据集的变化情况。

如果你使用MLlib,以下网址有几个示例代码,用户可以在Spark上使用、修改后运行PCA:http://spark.apache.org/docs/latest/mllib-dimensionality-reduction.html#principal-component-analysis-pca。更多关于MLlib的信息,请访问:https://spark.apache.org/docs/1.2.1/mllib-dimensionality-reduction.html。

考虑到R语言丰富的PCA算法,在本例中我们使用R语言。在R语言中,至少有5个PCA计算的函数,具体如下:

 

 

 

 

 

R语言Stats包中的prcomp 和princomp方法最常使用,并且具有较好的结果总结和绘制的函数。因此,我们将使用这两个方法。

3.3.2 使用专业知识进行分类分组

事情总是这样,如果可以使用一些专业知识,可以大幅提高特征筛选结果。

对于我们这个例子,数据分类是一个良好的开始,数据分类如下:

市场营销

培训

促销

团队管理

员工

产品

因此,我们针对每个数据分类执行一个PCA算法,共执行6次PCA算法。例如,对于团队分类,我们需要在73个特征或变量上执行PCA算法,以识别出能够全面表示我们所了解的团队信息的因素或维度。在这个练习中,我们找到2个维度来表示团队分类的73个特征。

对于员工分类,我们在103个特征或变量上执行PCA算法,以识别出能够全面表示我们所了解的员工信息的因素或维度。在这个练习中,我们找到2个维度来表示员工分类的103个特征。特征选择情况如下表所示:

分  类 因素的数量 因素的名称

团队   2 T1,T2

市场营销 3 M1,M2,M3

培训   3 Tr1,Tr2,Tr3

员工   2 S1,S2

产品 4 P1,P2,P3,P4

促销 3 Pr1,Pr2,Pr3

合计 17

 

PCA执行之后,我们在每个类型得到了2到4个特征,汇总情况如上表所示。

3.3.3 特征选择

特征选择主要用于消除特征冗余或不相关特征,但是由于以下原因一般在最后使用:

使模型易于理解

减少过拟合的机会

节约模型估计的时间和空间

在MLlib中,我们可以使用ChiSqSelector算法,具体如下所示:

 

在R语言中,我们可以使用R语言包来简化计算。在可选的R语言包中,CARET是经常使用的R语言包之一。

首先,作为练习,我们在所有400个特征上执行特征选择。

然后,我们从PCA结果中选择的所有特征开始,我们也执行特征选择,因此可以全部保留它们。

因此,最后我们有17个特征供使用,具体如下所示:

特  征

团队特征T1, T2

市场营销特征M1, M2, M3

培训特征Tr1, Tr2, Tr3

员工特征S1, S2

产品特征P1, P2, P3, P4

促销特征Pr1, Pr2, Pr3

 

更多关于Spark上特征选择的信息,请访问:http://spark.apache.org/docs/latest/mllib-feature-extraction.html。

相关文章
|
2月前
|
机器学习/深度学习 算法 数据可视化
机器学习模型中特征贡献度分析:预测贡献与错误贡献
本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。
232 3
|
21天前
|
分布式计算 大数据 Apache
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
32 1
|
4月前
|
分布式计算 大数据 Spark
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
《Spark大数据处理:技术、应用与性能优化》深入浅出介绍Spark核心,涵盖部署、实战与性能调优,适合初学者。作者基于微软和IBM经验,解析Spark工作机制,探讨BDAS生态,提供实践案例,助力快速掌握。书中亦讨论性能优化策略。[PDF下载链接](https://zhangfeidezhu.com/?p=347)。![Spark Web UI](https://img-blog.csdnimg.cn/direct/16aaadbb4e13410f8cb2727c3786cc9e.png#pic_center)
147 1
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
|
3月前
|
分布式计算 Hadoop 大数据
大数据处理框架在零售业的应用:Apache Hadoop与Apache Spark
【8月更文挑战第20天】Apache Hadoop和Apache Spark为处理海量零售户数据提供了强大的支持
62 0
|
3月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
195 0
|
5月前
|
机器学习/深度学习 人工智能 JSON
人工智能平台PAI产品使用合集之创建特征视图时遇到报错,该如何排查
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
4月前
|
存储 机器学习/深度学习 人工智能
人工智能平台PAI使用问题之特征平台是否可以与Java进行对接
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
5月前
|
机器学习/深度学习 存储 人工智能
人工智能平台PAI产品使用合集之选择使用Hologres作为在线特征存储,响应延时大概在多久
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
5月前
|
机器学习/深度学习 数据采集 存储
人工智能平台PAI产品使用合集之FeatureStore是否支持推荐场景下的session特征
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
5月前
|
机器学习/深度学习 人工智能 前端开发
人工智能平台PAI产品使用合集之创建了实时特征视图,里面的数据是通过什么传入的
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。

推荐镜像

更多
下一篇
无影云桌面