特征处理器
数据框分析自动包含一个 特征编码阶段,该阶段将分类特征转换为数值特征。但是,如果您希望对用于特定字段的编码方法进行更多控制,则可以定义特征处理器。如果您的处理器运行后仍有任何分类特征,它们将在自动特征编码阶段中进行处理。
您定义的特征处理器是分析过程的一部分;当数据通过聚合或管道时,处理器会针对新数据运行。生成的特征是临时的;它们不会存储在索引中。这提供了一种创建特征的机制,这些特征可以在搜索和摄入时使用,且不会占用索引中的空间。
请参阅 创建数据框分析作业 API 的 feature_processors 属性以了解更多信息。
可用的特征处理器
频率编码考虑了给定的分类特征在相关字段值中出现的次数。特征出现的频率越高,该特征在数据集中的权重就越大。使用这种编码技术,在编码完成后无法恢复到分类值,因为不同的类别可能具有相同的频率。
该图显示了一个简单的频率编码示例。cat 的 Animal_freq 值为 0.5,因为该特征在相关值的一半中出现。标签 dog 和 crocodile 各自只出现一次。因此,这些标签的 Animal_freq 值为 0.25。
多重编码使您能够在同一个数据框分析作业中使用多个处理器。您可以定义一个有序的处理器序列,其中一个处理器的输出可以作为输入转发给下一个处理器。例如,您可以定义一个 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。