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

相关推荐
小宋10219 分钟前
一套服务托管多个 LoRA:适配器加载、租户隔离与热切换实战
大数据·人工智能·算法
传奇开心果编程17 分钟前
【现代声明式UI学与练】第9课 性能优化——渲染优化、列表优化、内存优化、启动优化
学习·flutter·react native·ui·性能优化·swiftui·android jetpack
传奇开心果编程18 分钟前
【Compose Multiplatform 跨端开发学与练】第8课 资源管理与主题
android·windows·学习·ios·kotlin·web·composer
旖旎夜光28 分钟前
LeetCode 1576: 替换所有的问号(模拟) —— 题解
c++·学习·算法·leetcode·力控
mlidongfeng29 分钟前
【学习】ParallelKittens(PK)学习与分析
学习
阿明副业观察1 小时前
AI视频创作流程怎么做?完整指南与工具推荐
大数据·人工智能·aigc·音视频·ai写作
坤坤子吖1 小时前
Python基础语法学习:列表和元组
开发语言·笔记·python·学习
工业涂料百问1 小时前
水性工业涂料选型指南:VOC 限值与漆膜性能怎么平衡,以及有哪些企业可选
大数据
EatFan1 小时前
「失控AI智能体」首遭FTC立案:英伟达Agent安全体系落地,AI智能体合规设计如何前置
大数据·人工智能·安全·ai智能体·mcp·agent安全·ftc
JWASX1 小时前
Java 转 go 学习 - 接口
学习·golang