# 自动数据准备和转换

您为实验选择的数据集将自动进行预处理，以便为模型训练做准备。预处理步骤包括数据准备和转换。这会提高数据的质量，从而为您提供一个生成准确结果的模型。

使用各种数据科学技术对数据进行预处理。大多数步骤都是默认执行的，在许多用例中都能正常工作。了解这些默认步骤以及基本概念可以帮助您了解在使用数据训练模型之前，需要对特定用例的数据进行哪些处理。

## 实验设置

在预处理开始之前，Qlik Predict 会执行几个准备步骤，并提供如何处理数据的预览。某些步骤取决于您的实验类型和其他因素。以下步骤可能适用：

1. 将数据集中的列分类为具有分类、数字、日期或自由文本特性类型。

   * 浮点、双精度和十进制数据类型始终被视为数值型。

   * 具有字符串数据类型（平均包含少于 50 个字符）的列被分类为分类列。

   * 具有字符串数据类型（平均包含 50 个或更多字符）的列被分类为自由文本。然而，在这个阶段，不能保证这些列可以用作自由文本特性。预处理过程中会检查其他要求。请参阅[预处理步骤](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/preprocessing-steps.htm#Preproce)。

   * 整数数据类型总是被认为是数字类型。

   * 日期和时间戳数据类型始终被认为具有日期特性类型。在实验设置过程中，Qlik Predict 预览可能源自父日期特性的自动设计特性。

2. 检查每列的稀疏性、常量和高基数。在下列情况下排除该列：

   * 该列为 50% 或更多的空值。删除包含特性空值的记录可能会导致丢弃其他有用的训练示例。或者，输入值可以保存示例，但记录仅成为现实的近似值。因此，通常最好排除具有大量（超过 50%）空值的特性。请注意，0 从不被视为空。

   * 该列在每行中具有相同的值（常量）。换句话说，列的基数较低。只有一个值的功能没有预测价值。

   * 该列是分类的，具有 90% 或更多的唯一值（高基数）。太多的唯一值使得模型很难超越训练数据集。

预处理开始后，可对数据的处理方式进行调整。

## 预处理步骤

选择目标列后，后续步骤取决于实验类型。对于分类和回归实验，将标识并分隔目标值为空的行，将目标所在的行称为训练集。对于时间序列实验，将对缺失的目标值进行插值。

在以下步骤中，仅使用训练数据集中的数据进行决策。这些步骤以及元数据将被保存并应用于模型的任何新数据，以便进行预测。

每当运行新的实验版本时，都会对包含的特性执行预处理。 某些步骤取决于您的实验类型和其他因素。

1. 计算并保存数值的平均值和分类值的模式。

2. 输入缺失值。有关更多信息，请参阅[无效的插补](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/null-imputation.htm)。

3. 编码分类变量。

4. 对于时间序列模型，会执行多个步骤来验证用户配置的实验属性，并在训练完成后向用户提供额外信息：

   * 确定最大预测窗口。

   * 确认日期索引的时间步长。

   * 验证用户选择的目标分组，如果未指定，则从包含的分类特性中识别（如果存在）。

5. 从数据集中的现有列生成新特性。这些新的自动设计功能可以提高您创建的模型的性能和预测能力。

   检查被标识为可能的自由文本的列的平均单词长度。如果列的平均单词长度大于五个单词，则可以使用自动特性设计将其编码为自由文本特性。如果不是，则会显示警告。如果不能作为自由文本使用，则如果该特性具有较高的基数，则应取消选择该特性。

6. 计算并保存每个列的摘要统计信息，以用于要素缩放。

7. 使用特性缩放标准化每列。

8. 对已选择用于偏见检测的功能执行分析，并返回数据偏见指标和相应的洞察。有关更多信息，请参阅[检测机器学习模型中的偏差](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/bias-detection.htm)。

9. 使用训练数据的自动保持和五重交叉验证。有关更多信息，请参阅[保留数据和交叉验证](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/holdout-crossvalidation.htm)。

10. 以更高的确定性计算数据集的各种统计信息。例如，可能会获得有关数据集大小、行和单元格计数以及空值比例的新信息。有关更多信息，请参阅[训练数据集和分析限制](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/ml-limitations-capacities.htm#DatasetSizeCapacities)。

## 了解详情

* [自动特性工程](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/automatic-feature-engineering.htm)