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天前
|
机器学习/深度学习 人工智能 JSON
人工智能平台PAI产品使用合集之创建特征视图时遇到报错,该如何排查
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
2天前
|
机器学习/深度学习 存储 人工智能
人工智能平台PAI产品使用合集之选择使用Hologres作为在线特征存储,响应延时大概在多久
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
2天前
|
机器学习/深度学习 数据采集 存储
人工智能平台PAI产品使用合集之FeatureStore是否支持推荐场景下的session特征
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
2天前
|
机器学习/深度学习 人工智能 前端开发
人工智能平台PAI产品使用合集之创建了实时特征视图,里面的数据是通过什么传入的
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
10天前
|
机器学习/深度学习 算法 C++
机器学习归一化特征编码(二)
这篇文档讨论了机器学习中的特征编码,特别是独热编码(OneHotEncoder)在处理离散变量时的作用。它指出,对于多分类变量,独热编码是常用方法,但对二分类变量通常不需要。在Python的`sklearn`库中,`OneHotEncoder`可以用来实现这一过程,并可以通过设置`drop='if_binary'`来忽略二分类变量。文档还提到了逻辑回归,解释了正则化参数`C`和`penalty`,并列举了不同的优化算法,如`liblinear`、`lbfgs`等。
|
10天前
|
机器学习/深度学习 算法 数据处理
机器学习归一化特征编码(一)
特征缩放是机器学习预处理的关键步骤,它包括归一化和标准化。归一化通过最大最小值缩放,将数据转换到[0,1]区间,有助于梯度下降算法更快收敛,减少数值较大特征的影响。标准化则通过减去均值并除以标准差,确保数据具有零均值和单位方差,适用于关注数据分布情况的算法。例如,欧氏距离计算时,未归一化的特征可能导致模型偏向数值较大的特征。归一化能提升模型精度,尤其是当距离度量如欧式距离时。常见的实现方法有`MinMaxScaler`,它将每个特征值缩放到用户指定的范围,如[0,1]。而`StandardScaler`执行Z-Score标准化,数据分布符合标准正态分布。
|
10天前
|
机器学习/深度学习 API Python
机器学习特征降维
这篇内容概述了特征降维在机器学习中的重要性,包括三个主要方法:低方差过滤法、PCA(主成分分析)和相关系数法。低方差过滤法通过删除方差低于阈值的特征来减少无关信息;PCA通过正交变换降低数据的维数,保留大部分信息;相关系数法(如皮尔逊和斯皮尔曼相关系数)用于评估特征间的相关性,去除高度相关的特征以简化模型。这些技术有助于提高模型效率和泛化能力。
|
12天前
|
机器学习/深度学习 计算机视觉
【机器学习】LoFTR:革命性图像特征批评技术等领跑者
【机器学习】LoFTR:革命性图像特征批评技术等领跑者
23 1
|
13天前
|
机器学习/深度学习
【机器学习】特征筛选实例与代码详解
【机器学习】特征筛选实例与代码详解
25 0
|
15天前
|
机器学习/深度学习 算法 Python
机器学习算法的比较与选择是在实际应用中非常重要的一步,不同的算法适用于不同的问题和数据特征。
机器学习算法的比较与选择是在实际应用中非常重要的一步,不同的算法适用于不同的问题和数据特征。

热门文章

最新文章

推荐镜像

更多