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

特征工程-下

离散化(Bucketizer)

用来处理数值型字段的,离散化可以把原本连续的数值打散,从而降低原始数据的多样性。离散化的动机,主要在于提升特征数据的区分度与内聚性,从而与预测标的生产更强的关联。

首先,我们创建Bucketizer实例,然后将数值型字段作为参数传入setinputCol,同时使用setOutputCol来指定用于保存离散数据的新字段。

离散化的过程是把连续值打散为离散值,但具体的离散区间如何划分,还需要我们通过在setSplits里指定。离散敬意由浮点型数组splits提供,从负无穷到正无穷划分出了[负无穷,2]、[3,4]和[5,正无穷]这三个区间。最终我们调用Bucketizer的transform函数,对数据做离散化。

Embedding

Embedding的方法很多,从最基本的热独编码到PCA降维,从Word2Vec到Item2Vec,从矩阵分解到基于深度学习的协同过滤。

过程就是把数据集合映射到向量空间,进而把数据进行向量化的过程。目标就是找到一组合适的向量,来刻画现有的数据集合。

向量计算

负责完成向量的拆分、拼接、去处,从而构建特征向量,进而生成模型可消费的训练样本。 作为特征工程的最后一个环节,主要用于构建训练样本中的特征向量(Feature Vectors)。Spark MLlib在向量计算方面提供了丰富的支持。比如VectorAssembler,用于对向量做剪裁的VectorSlicer,以元素为单位做乘法的ElementwiseProduct,等等。

相关推荐
_李小白2 小时前
【OSG学习笔记】Day 41: ReadFileCallback 与 WriteFileCallback(自定义文件读取)
java·笔记·学习
悠哉悠哉愿意2 小时前
【单片机复习笔记】十三届国赛复盘2
笔记·单片机·嵌入式硬件
知识分享小能手2 小时前
MongoDB入门学习教程,从入门到精通,MongoDB 持久性完全指南(20)
数据库·学习·mongodb
何中应2 小时前
Doris部署&连接
大数据·数据库·时序数据库·doris
老鱼说AI2 小时前
长文预警!大模型面试:关于大模型微调的进阶与工程部署讲解
人工智能·深度学习·神经网络·学习·自然语言处理·面试·职场和发展
2301_822703202 小时前
鸿蒙flutter三方库适配——笔记与知识管理应用:Flutter Markdown实战
笔记·算法·flutter·华为·图形渲染·harmonyos·鸿蒙
芝士爱知识a7 小时前
2026高含金量写作类国际竞赛汇总与测评
大数据·人工智能·国际竞赛·写作类国际竞赛·写作类比赛推荐·cwa·国际写作比赛推荐
北顾笙98011 小时前
LLM学习-day02
学习
鹧鸪云光伏12 小时前
基于支架参数一键生成光伏全套CAD图纸
大数据·信息可视化·cad·光伏·储能设计方案