《零基础入门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,等等。

相关推荐
LinXunFeng15 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
大大大大晴天19 小时前
Hudi技术内幕:Key Generation原理与实践
大数据
得物技术4 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子4 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
通信小呆呆5 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
大志哥1235 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
H__Rick5 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee5 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker