三种类型—异常检测

本文概述了异常检测的三种主要方法:基于统计学的一维数据检测,如sigma原则和箱线图;无监督分类技术,包括孤立森林、LOF和OneClassSVM;以及基于重构误差的PCA和自编码器进行异常检测。
摘要由CSDN通过智能技术生成

异常检测方法概述

  1. 基于统计学(一维数据)
    1.1sigma原则
    1.2箱线图原则
  2. 无监督分类
    2.1 孤立森林 :outlier detection: 训练集中有异常样本
    2.2 LOF :局部异常因子算法,outlier detection
    2.3 OneClassSVM :novelty detection, 训练集中没有异常样本
  3. 基于重构误差
    3.1 PCA “Therefore, outlier scores can be obtained as the sum of the projected distance of a sample on all eigenvectors.”
    3.2 自编码器 “Similar to PCA, AE could be used to detect outlying objects in the data by calculating the reconstruction errors”

from pyod.models.knn import KNN
from pyod.models.lof import LOF
from pyod.models.iforest import IForest
from pyod.models.pca import PCA
from pyod.utils.utility import standardizer
from pyod.utils.data import generate_data
import pandas as pd
from pyod.utils.data import evaluate_print
from pyod.utils.example import visualize
import matplotlib.pyplot as plt
import numpy as np
from pyod.models.combination import aom, moa, average, maximization, median
from pyod.utils.utility import score_to_label
import math
from pyod.models.auto_encoder import AutoEncoder


def single_detector(X_train,detector_list,detector_list_names):
    X_train_norm, X_test_norm = standardizer(X_train, X_test)
    y_train_pred_all = pd.DataFrame()

    for name, clf in zip(detector_list_names, detector_list):
        clf.fit(X_train_norm)
        y_train_pred = clf.labels_
        y_train_pred_all[name] = y_train_pred

    num = len(detector_list)
    n_col = 4
    n_row = math.ceil(num / n_col)

    fig = plt.figure(figsize=(n_row * 5 + 3, n_col * 5))
    colors 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值