Spark MLlib 特征工程系列—特征提取FeatureHasher
FeatureHasher 是 Spark MLlib 提供的一种特征转换工具,旨在将类别特征、数值特征等多种类型的数据映射到固定大小的特征向量中。FeatureHasher 与 HashingTF 类似,都是基于哈希技术,但 FeatureHasher 更加通用,支持各种不同类型的数据输入。
FeatureHasher 的基本概念
FeatureHasher 通过对输入的特征进行哈希化,将它们映射到一个稀疏的特征向量中。它的主要特点是:
- 支持多种类型的输入数据,包括数值型特征、字符串类型特征(如类别特征)、布尔型特征等。
- 通过哈希函数将特征值映射到一个固定大小的特征空间中,从而避免了需要显式地构建词汇表或类别索引。
主要参数
• inputCols:指定输入列的列表。可以包含多种类型的列(数值、字符串、布尔值等)。
• outputCol:指定输出列名,这个列将包含哈希化后的特征向量。
• numFeatures:指定输出特征向量的维度,即特征空间的大小。默认值为 2 的 18 次方 (262144)。
• categoricalCols:指定哪些列应该被视为类别特征(可选)。Spark 会将这些列处理为离散值。
工作原理
Feature