分类编码
大多数机器学习算法要求变量为数字。因为分类值和同一列中的其他值没有明显的可测量关系,所以必须首先将其转换为数字呈现,以通过数学进行测量。AutoML 使用分类编码将特征列中的分类值转换为机器学习算法可以理解的数值。
AutoML 使用两种编码方法: impact encoding 和 one-hot encoding。用于特定特征的方法取决于数据集大小和唯一分类值的数量。
-
对于列数为 100 或更少的数据集:
-
具有 13 个或更少唯一值的类别特征是 one-hot encoded。
-
具有 13 个以上唯一值的类别特征是 impact encoded。
-
-
对于超过 100 列的数据集,所有分类列都是 impact encoded。
在配置 ML 实验时,您可以通过查询模式视图来查看数据集中的哪些特征正在使用分类编码进行处理。有关更多信息,请参阅配置实验。
分类编码是如何工作的
一种为类别提供数学表示的常见技术是 one-hot encoding。One-hot encoding 将分类列旋转为 n 个列,其中 n 等于列中唯一值的数量。数字 1 分配给每行的相应列,0 分配给为类别生成的其他列。类别编码允许独立于其他变量来计算每个唯一变量,而不是按照列中其他值的相对值来计算数值。
表中的示例显示了分类列 MarketingSource 已经过 one-hot encoded。结果是四个新的栏目,每个栏目对应一个独特的营销来源。在第一行,Person_1 有营销来源“Facebook”。这在新的 Facebook 列中用 1 表示,在其他列中用 0 表示。