# 异常检测和处理

使用智能模型优化时，将提供异常检测和处理功能。借助这些功能，Qlik Predict 可以通过特定处理自动处理训练数据中的异常值。在训练期间，训练数据中的异常值数据不会被完全删除，而是使用由算法驱动的加权系统进行处理。

在几乎所有可以处理的数据中，观察到异常值或异常情况是很常见的。异常是指发生在您可能预期的常规预期范围之外的数据值。在训练机器学习模型时，可以容忍一定比例的异常，甚至可能希望将其作为现实世界偏差的反映。然而，在极端情况下，异常和异常值会给模型引入偏差，从而降低其可靠性和实用性。

## 示例

并非所有异常都应同等对待，也不应始终将其视为要从数据中删除的内容。例如，如果数据异常是在收集数据时可以观察到的自然可能但罕见的情况，那么您希望将其用于您训练的模型中可能是有意义的。一个很好的例子是金融交易中的欺诈实例。在数百万笔交易中，只有少数几笔可能与欺诈有关。根据您希望使用模型分析和解决的问题，日常交易中的欺诈概率可能是您在生成预测时想要考虑的因素。

您可能想要删除的异常示例是收集数据时发生的意外故障。例如，假设您正在构建一个用于预测天气模式的模型。您的模型正在使用来自监控天气指标的传感器的数据进行训练，而一次不相关的停电导致从传感器收集到错误数据。这些错误数据可能被视为异常数据，您希望在完成模型训练之前将其删除。

## Qlik Predict 如何处理异常？

当您使用智能模型优化训练模型时，将执行异常检测和处理，该优化在新建实验中默认开启。

异常处理通常可以认为发生在两个独立的过程中：检测和实际模型训练。

### 异常检测

当您运行某个版本的训练时，Qlik Predict 会在模型训练开始之前完成几个步骤。这包括数据分类、空值插补以及许多其他过程。异常检测在此阶段完成，并且仅在开启智能模型优化时才会完成。

用技术术语来说，Qlik Predict 使用基于决策树的算法（孤立森林算法）来检测训练数据中的异常和异常值。在智能模型优化的数据处理阶段，数据集中的每个数据点（通常称为记录）都会被分配一个异常分数，并根据其为异常的确定程度进行加权。

### 模型训练中的异常处理

在根据需要处理和转换数据后，Qlik Predict 开始训练模型。在此过程中，之前生成的加权异常分数用于调整每一行对模型的影响。例如，被认为极有可能包含异常的行在模型训练中的影响会被分配得较低。

这种加权评分系统允许 Qlik Predict 避免丢弃数据，而是简单地减少异常值数据对模型的影响。

## 注意事项

尽管 Qlik Predict 提供了异常检测功能，但这并不意味着任何数据都可以用于训练高质量的模型。如果您的数据包含异常大比例的错误或损坏信息，异常检测无法弥补所有这些问题。

在这些情况下，建议您返回数据收集过程，以确保您拥有最高质量和最真实的数据。这将帮助您优化机器学习模型的可靠性和成功率。