特征处理器
Elastic Stack Serverless
数据框分析自动包含一个 特征编码 阶段,该阶段将分类特征转换为数值特征。但是,如果您希望更好地控制用于特定字段的编码方法,则可以定义特征处理器。如果您的处理器运行后仍有任何剩余的分类特征,则将在自动特征编码阶段中处理这些特征。
您定义的特征处理器是分析过程的一部分,当数据通过聚合或管道时,处理器会针对新数据运行。 生成的特征是短暂的; 它们不会存储在索引中。 这提供了一种创建可在搜索和摄取时使用且不占用索引空间的功能的机制。
请参阅 创建数据框分析分析作业 API 的 feature_processors
属性以了解更多信息。
可用的特征处理器
频率编码会考虑给定的分类特征在与编码字段的值相关的范围内出现的次数。 特征出现的频率越高,该特征在数据集中的权重就越大。 使用这种编码技术,编码完成后无法返回到分类值,因为不同的类别可能具有相同的频率。

该图显示了一个简单的频率编码示例。cat
的 Animal_freq 值为 0.5,因为该特征存在于一半的相关值中。 标签 dog
和 crocodile
各仅出现一次。 因此,这些标签的 Animal_freq 值为 0.25。
多重编码使您可以在同一数据框分析分析作业中使用多个处理器。 您可以定义处理器的排序序列,其中一个处理器的输出可以作为输入转发到下一个处理器。 例如,您可以定义一个 n-gram 特征处理器,该处理器创建一系列 n-gram,这些 n-gram 可以通过链接的独热编码处理器进行编码。
n-gram 编码将字符串编码为配置长度的 n-gram(n 项的序列)的集合。 此编码的输出是分类的。 因此,将对生成的 n-gram 进行额外的自动处理。

该表显示了 Animal 字段的 n-gram 编码。 它执行 unigram 和 bigram 编码(大小为 1 和 2 的 n-gram),并达到字符串长度 3。
独热编码通过为每个类别分配向量,将分类值转换为数值。 该向量表示给定值中是否存在(1)或不存在(0)相应的特征,因此编码方法将不同的分类特征映射到数值。

独热编码将每个类别映射到相应的值。 如果类别存在于给定值中,则分配的向量为 1
;如果不存在,则向量为 0
。
目标均值编码将分类值替换为目标变量的平均值,因为它与分类变量本身有关。

该图显示了一个简单的目标均值编码示例。 标签 cat
在数据集中出现两次。 其中一个对应的目标变量为 0
,另一个对应的目标变量为 1
。 使用目标均值编码处理器后,cat
标签的 Animal_target_mean
值为 0.5,而 dog
和 crocodile
的值为 1,因为它们的每次出现都对应于目标变量 1
。