对分类数据进行编码以进行异常值检测

为什么单热编码并不总是最好的方法,以及替代编码用于离群值检测的编码分类数据一文首先出现在走向数据科学上。

来源:走向数据科学

我的异常值检测系列。在本文中,我们将研究如何处理分类数据。

通常,在使用表格数据执行异常值检测时,我们首先将数据转换为完全分类或完全数字。有一些例外,但在大多数情况下这是必要的:大多数异常值检测算法都会假设数据严格采用一种或另一种格式,并且我们需要将数据转换为检测器期望的格式。

如果检测器需要分类数据,则需要将数字特征转换为分类格式,这通常意味着对它们进行分箱。如果检测器需要数字数据,则任何分类特征都需要进行数字编码。这是更常见的场景(大多数异常值检测算法都假设数值数据),也是我们将在本文中介绍的内容。

该系列的其他文章包括:用于表格和图像数据的异常值检测的深度学习、用于异常值检测的距离度量学习、使用 PCA 进行异常值检测简介、可解释的异常值检测:频繁模式异常值因子 (FPOF) 以及使用特征子集更有效地执行异常值检测。

本文还涵盖了《Python 中的异常值检测》一书中的一些材料。

异常值检测器

假设分类数据的异常值检测算法的一些示例包括:频繁模式异常值因子 (FPOF)、关联规则和基于熵的方法。一些适用于数值数据的方法包括:隔离森林、局部异常值因子 (LOF)、kth 最近邻 (kNN) 和椭圆包络。

如果您熟悉任何异常值检测算法,那么很可能是数值算法,特别是隔离森林和 LOF;这些可能是最常用的算法。此外,scikit-learn 和 PYOD(Python 异常值检测)中包含的所有异常值检测算法都假设完全数字数据。

编码分类数据的方法

红色:1