IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python异常检测工具箱——pyod -> 正文阅读

[人工智能]Python异常检测工具箱——pyod

最近打算入坑异常检测,准备先从应用开始,先尝试着用一下相关的工具和算法,有一个直观的感受,然后再从应用的过程中寻找切入点,逐步了解相关的理论和模型。pyod就是一个非常符合我当下需求的一个工具箱,其中集成了从经典模型到新兴算法的数十种异常检测算法与模型,因此在这里先对他进行了一个大致的了解。

  • 简介:
    • pyod(Python Outlier Detection)是一个集成了30余种异常检测方法和模型的Python工具箱。从经典的 LOF (SIGMOD 2000) 到近两年的 COPOD (ICDM 2020) 和 SUOD (MLSys 2021) 。
  • 特性:
    • 丰富的模型,从 scikit-learn 中的经典算法,到近期的深度学习算法,以及诸如 COPOD 的新兴算法。
    • 兼容 Python2 和 Python3。
    • pyod对所涵盖的各种异常检测算法提供了统一的API,便于学习和使用。
  • 范例:
# 训练 COPOD 模型
from pyod.models.copod import COPOD
clf = COPOD()
clf.fit(X_train)

# 查看数据的异常分数
y_train_scores = clf.decision_scores_  # 训练集
y_test_scores = clf.decision_function(X_test)  # 测试集
  • 安装:
    • pip安装:
    pip install pyod           # 安装pyod
    pip install --upgrad pyod  # 更新pyod(非必须)
    
    • conda安装:
    conda install -c conda-forge pyod
    
    • 从git安装
    git clone https://github.com/yzhao062/pyod.git
    cd pyod
    pip install .
    
    • 可选择安装的依赖(特定模型需要)
      • combo(models/combination.py 和 FeatureBagging 需要)
      • keras(AutoEncoder以及其他的深度学习模型需要)
      • tensorflow(同上)
      • suod(SUOD模型需要)
      • xgboost(XGBOD需要)
  • 各模型通用的API(全部API参见此处):
    • fit(X): 训练模型。
    • decision_function(X): 用训练好的模型预测 X。 的异常得分(raw anomaly score)
    • predict(X): 用训练好的模型预测某个特定的样本 X 是否为异常样本。
    • predict_proba(X):
  • 训练好的模型的常用属性:
    • decision_scores_: 训练集样本的异常得分(outlier scores),得分越高的样本越有可能是异常样本。
    • labels_: 训练集样本的标签,0 代表正常样本,1 代表异常样本。
  • 模型的保存与加载:
# 保存模型
dump(clf, 'clf.joblib')
# 加载模型
clf = load('clf.joblib')

# 加载后得到的 clf 可以直接调用上述 API 进行使用
y_test_pred = clf.predict(X_test)  # outlier labels (0 or 1)
y_test_scores = clf.decision_function(X_test)  # outlier scores
  • 使用 SUOD 框架进行快速训练
    • 对pyod中所包涵的模型,可以使用 SUOD 框架对多个模型进行快速训练以及联合预测,详见SUOD 论文
    from pyod.models.suod import SUOD
    
    # 初始化一组异常检测模型
    detector_list = [LOF(n_neighbors=15), LOF(n_neighbors=20),
                 LOF(n_neighbors=25), LOF(n_neighbors=35),
                 COPOD(), IForest(n_estimators=100),
                 IForest(n_estimators=200)]
    # 设定并行进程的数量(n_jobs=2),以及联合预测的方式(combination='average')
    clf = SUOD(base_estimators=detector_list, n_jobs=2, combination='average',
           verbose=False)
    # 之后就可以把 clf 当做一个常规的模型,调用API进行训练和预测
    clf.fit(X_train)
    y_test_pred = clf.predict(X_test)
    y_test_scores = clf.decision_function(X_test)
    
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:48:58  更:2021-12-13 12:49:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 0:21:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码