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

相关推荐
摇滚侠4 分钟前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 Spring Boot 应用打包 阅读笔记 41
spring boot·笔记·后端
金立基包装胶水8 分钟前
纸袋热封胶常见都有哪些问题?
大数据·笔记·其他
Elastic 中国社区官方博客9 分钟前
在 Elasticsearch 中回填时间序列数据:通过批量 API 加载数月的历史指标数据
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
故七月19 分钟前
优胜劣汰·动态赋能——锦邻创享OPC社区的考核管理与退出机制
大数据·人工智能
枫叶林FYL29 分钟前
【群体智能集群控制工程实践】第10章 无人舰队核心功能实现
大数据·人工智能·算法
chnyi6_ya34 分钟前
论文阅读笔记 | HoneyBee: Data Recipes for Vision-Language Reasoners
论文阅读·笔记
repetitiononeoneday37 分钟前
【每日规划与反思】2026.9.4
笔记
昵称画43 分钟前
POC验证怎么设计用例?不走过程的实操要点
大数据·数据库·人工智能·低代码·excel
2601_967212721 小时前
新一代电源轨道系统技术甄别维度与行业技术路线分析
大数据·网络·人工智能
江湖人称菠萝包1 小时前
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter1-基础知识
windows·笔记