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

特征工程-下

离散化(Bucketizer)

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

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

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

Embedding

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

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

向量计算

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

相关推荐
油丶酸萝卜别吃8 小时前
前端转全栈学习路线
前端·学习
Web3_Daisy9 小时前
Pump.fun 与 FOMO 竞争背后的 Meme 市场变局
大数据·人工智能·金融·web3·区块链
论文避坑指南11 小时前
论文写作全流程AI合规边界:从选题到投稿的“红绿灯“清单
大数据·人工智能·深度学习
GlueNa2SiO311 小时前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习
weixin_4316004412 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
带娃的IT创业者12 小时前
DeepTutor:当 Agent-Native 架构撞上个性化学习的临界点
学习·架构·ai agent·大模型应用·个性化学习·教育技术·agent-native架构
xian_wwq12 小时前
【学习笔记】Context Engineering,AI Agent 真正的内存管理-4/16
笔记·学习·context
V哥AI增长12 小时前
Schema.org 结构化数据与GEO技术落地:AI引擎引用机制与JSON-LD部署实证研究
大数据·运维·人工智能
嘉禾望岗50312 小时前
datagrip连接带有kerberos认证的hive
大数据·kerberos
寒月小酒13 小时前
AnythingLLM 学习
学习