# 分类编码

大多数机器学习算法要求变量为数字。因为分类值和同一列中的其他值没有明显的可测量关系，所以必须首先将其转换为数字呈现，以通过数学进行测量。Qlik Predict 使用分类编码将特征列中的分类值转换为机器学习算法可以理解的数值。

Qlik Predict 使用三种编码方法： impact encoding、one-hot encoding 和 ordinal encoding。针对特定功能所使用的方法取决于数据特性、唯一分类值的数量以及实验类型。

* 对于分类和回归问题：

  * 对于列数为 100 或更少的数据集：

    * 具有 13 个或更少唯一值的类别特征是 one-hot encoded。

    * 具有 13 个以上唯一值的类别特征是 impact encoded。

  * 对于超过 100 列的数据集，所有分类列都是 impact encoded。

* 对于时间序列问题，分类列使用 ordinal encoding 进行编码。

在配置 ML 实验时，您可以通过查询模式视图来查看数据集中的哪些特征正在使用分类编码进行处理。有关更多信息，请参阅[Configuring experiments](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/configuring-experiments.htm)。

## 分类编码是如何工作的

一种为类别提供数学表示的常见技术是 one-hot encoding。One-hot encoding 将分类列旋转为 n 个列，其中 n 等于列中唯一值的数量。数字 1 分配给每行的相应列，0 分配给为类别生成的其他列。类别编码允许独立于其他变量来计算每个唯一变量，而不是按照列中其他值的相对值来计算数值。

表中的示例显示了分类列 MarketingSource 已经过 one-hot encoded。结果是四个新的栏目，每个栏目对应一个独特的营销来源。在第一行，Person\_1 有营销来源“Facebook”。这在新的 Facebook 列中用 1 表示，在其他列中用 0 表示。

MarketingSource 列的分类编码

MarketingSource 列的分类编码

MarketingSource 列的分类编码 ![带有样本数据的表格。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/categorical-encoding-table-1.png)

相关学习内容：

* [介绍Qlik Predict](https://help.qlik.com/lnk/Introduction_Qlik_AutoML)

## 了解详情

* [介绍Qlik Predict](https://help.qlik.com/lnk/Introduction_Qlik_AutoML)