使用 PCA 进行异常值检测的简单示例

在异常值检测之前执行 PCA 转换可提高准确性、速度和内存使用率本文继续介绍使用 PCA(主成分分析)进行异常值检测的一系列应用,紧随其后的是使用 PCA 进行异常值检测。那篇文章描述了 PCA 本身,并介绍了使用 PCA 进行异常值检测的两种主要方法:评估重构误差,以及在 PCA 转换空间上运行标准异常值检测器。它还给出了第一种方法的示例,即使用重构误差,使用 PyOD 提供的 PCA 和 KPCA 检测器可以轻松完成。本文介绍了第二种方法,我们首先使用 PCA 转换数据空间,然后在此上运行标准异常值检测。正如上一篇文章所述,在某些情况下,这可能会降低可解释性,但在准确性、执行时间和内存使用方面确实有一些令人惊讶的好处。本文也是关于异常值检测的更大系列文章的一部分,到目前为止涵盖了 FPOF、计数异常值检测器、距离度量学习、共享最近邻居和兴奋剂。本文还包括我书《Python 中的异常值检测》的另一段摘录。如果您对 PCA 本身相当熟悉(因为它用于降维或可视化),您可以根据需要跳过上一篇文章,直接进入这篇文章。不过,我会很快回顾一下主要思想。PCA 是一种转换数据的方法(查看数据

来源:走向数据科学

一个简单的示例,使用PCA进行离群值检测

通过在异常检测之前执行PCA转换来提高准确性,速度和内存使用量

本文继续使用PCA(主要组件分析)进行异常检测的应用程序,此后使用PCA进行离群值检测。该文章描述了PCA本身,并介绍了我们可以使用PCA进行离群检测的两种主要方法:评估重建误差,并在PCA转换空间上运行标准离群检测器。它还使用了重建误差给出了第一种方法的示例,使用PYOD提供的PCA和KPCA探测器可以简单地进行操作。

使用PCA进行离群检测 pyod

本文涵盖了第二种方法,我们首先使用PCA转换数据空间,然后对此进行标准离群值检测。正如上一篇文章所涵盖的那样,在某些情况下,这可以降低可解释性,但是在准确性,执行时间和内存使用方面确实具有令人惊讶的好处。

本文也是关于离群值检测的较大系列的一部分,到目前为止,涵盖了FPOF,计数离群值检测器,距离度量,距离度量,共享最近的邻居和兴奋剂。本文还包括我在Python的《离群值检测》中的另一个摘录。

fpof 计数异常值检测器 距离度量学习 共享最近的邻居 掺杂 python中的离群值检测

如果您熟悉PCA本身(因为它用于降低或可视化),则可以根据需要跳过上一篇文章,然后直接潜入其中。不过,我将很快回顾主要想法。

因此,如果我们从数据集开始,例如在下面的左窗格中显示,我们可以应用PCA转换以将数据转换为右窗格中显示的内容。在右窗格中,我们显示了数据已映射到的两个PCA组件。组件简单地命名为0和1。

单变量和多变量外检测器

单变量 ecod UMAP