《零基础入门Spark》学习笔记 Day 14

张开发
2026/4/11 21:53:00 15 分钟阅读

分享文章

《零基础入门Spark》学习笔记 Day 14
特征工程-上特征工程是机器学习流程中至关重要的环节旨在通过数据转换、组合或创建新特征提升模型性能。其核心目标包括提高数据质量、增强特征与目标变量的相关性以及降低计算复杂度。对于原始数据中的字段我们会把它们分为数值型和非数值型。Spark MLlib特征处理函数可以分为如下几类预处理StringIndexer作用是以数据列为单位把字段中的字符串转换为数值索引。StringIndexed的用法比较简单可以分为三个步骤第一步实例化StringIndexer对象第二步通过setInputCol和setOutputCol来指定输入列和输出列第三步调用fit和transform函数完成数据转换特征选择ChiSqSelector就是依据一定的标准对特征字段进行遴选。实际上面对数量众多的候选特征业务经验往往是特征选择的重要出发点之一。与此同时我们还会使用一些统计方法去计算候选特征与预测标的之间的关联性从而以量化的方式衡量不同特征对于预测标的重要性。要使用ChiSqSelector来选择数值型字段需要完成两步第一步使用VectorAssembler创建特征向量第二步基于特征向量使用ChiSqSelector完成特征选择。归一化MinMaxScaler用于是把一组数值统一映射到同一个值域而这个值域通常是[0,1]。当原始数据之间的量纲差异较大时抖动较大模型不容易收敛从而导致训练效率较差。相反当所有特征数据都被约束到同一个值域时模型训练的效率会得到大幅提升。MinMaxScaler的用法也分为两步第一步使用VectorAssembler创建特征向量第二步基于特征向量使用使用MinMaxScaler完成归一化归一化的目标在于去掉不同特征之间量纲的影响避免量纲不一致而导致的梯度下降震荡模型收敛效率低下等问题。离散化Embedding向量计算

更多文章