首页 > 其他分享 >pycaret学习之异常检测

pycaret学习之异常检测

时间:2022-12-19 09:44:52浏览次数:34  
标签:iforest 创建 pycaret 模型 检测 model 异常

异常检测是识别与大多数数据明显不同的稀有物品、事件或观察结果的任务。通常,异常项目会转化为某种问题,例如银行欺诈、结构缺陷、医疗问题或文本中的错误。存在三大类异常检测技术:

  • 无监督异常检测:无监督异常检测技术通过查找似乎最不适合数据集其余部分的实例来检测未标记测试数据集中的异常,前提是数据集中的大多数实例都是正常的。

  • 监督异常检测:此技术需要一个标记为“正常”和“异常”的数据集,并涉及训练分类器。

  • 半监督异常检测:该技术从给定的正常训练数据集构建一个表示正常行为的模型,然后测试学习模型生成测试实例的可能性。、

PyCaret 的异常检测模块是一个无监督的机器学习模块,它执行识别稀有物品、事件或观察的任务,这些物品、事件或观察结果与大多数数据有很大不同,会引起怀疑。

一、获取数据

from pandas import read_csv
data = read_csv('C:\\Users\86152\pycaret\datasets\mice.csv')
data.head()

 

 

 二、设置(set up())

from pycaret.anomaly import *
exp_ano101 = setup(data, normalize = True, 
                   ignore_features = ['MouseID'],
                   session_id = 123)

 

 三、创建模型

在 PyCaret 中创建异常检测模型非常简单,类似于在 PyCaret 的监督模块中创建模型的方式。异常检测模型是使用函数创建的,该函数将一个必需参数(即模型名称)作为字符串。

iforest = create_model('iforest')

我们使用 创建了iforest模型。请注意,设置的参数是未在 中传递参数时的默认值。 参数确定数据集中异常值的比例。在下面的示例中,我们将创建包含分数的模型。

svm = create_model('svm', fraction = 0.025)
print(svm)

 

 四、分配模型

现在我们已经创建了一个模型,我们希望将异常标签分配给我们的数据集(1080 个样本)以分析结果。我们将通过使用函数来实现这一点。

iforest_results = assign_model(iforest)
iforest_results.head()

在末尾添加了两列和。0 代表内值,1 代表异常值/异常值。分数是算法计算的值。为异常值分配了较大的异常分数。请注意,这还包括我们在 期间删除的功能。它未用于模型,仅在使用 时追加到数据集。

五、绘制模型

1、T分布随机邻域嵌入(t-SNE)

plot_model(iforest)

 

 2、均匀流形近似与投影

plot_model(iforest, plot = 'umap')

 

 后面保存模型(save_model())以及加载保存模型(load_model())与之前步骤一致。

标签:iforest,创建,pycaret,模型,检测,model,异常
From: https://www.cnblogs.com/ruanmh/p/16991450.html

相关文章

  • Ubuntu 22.04 显示检测到窗口系统采用wayland协议
    解决方法sudovim/etc/gdm3/custom.conf#WaylandEnable=false的注释井号去掉sudoservicegdm3restart参考资料https://zhuanlan.zhihu.com/p/546516064......
  • 基于虚拟数据的行人检测研究(Expecting the Unexpected: Training
    PaperLink:https://arxiv.org/pdf/1703.06283Github: https://github.com/huangshiyu13/RPNplus 摘要:这篇paper探索了如何用虚拟数据或者叫做人工生成的数据对行人检测......
  • pycaret学习之无监督学习-聚类
    聚类分析是将一组对象分组的任务,使同一组(称为聚类)中的对象彼此之间比其他组中的对象更相似。它是一种探索性数据挖掘活动,也是用于许多领域的统计数据分析的常用技术,包括机......
  • Java中的异常处理详解
    Java异常处理的五个关键字:try、catch、finally、throw、throws......
  • pycaret学习之受监督学习的机器学习-回归
    回归回归分析是一组统计过程,用于估计因变量(通常称为“结果变量”或“目标”)与一个或多个自变量(通常称为“特征”、“预测变量”或“协变量”)之间的关系。机器学习回归的目......
  • 对异常处理的理解
    之前一直不太了解异常处理,这也是我目前比较陌生,接触也少的地方。看PracticalCommonLisp里异常处理部分长文的时候简直是欲仙欲死,后来接触到Java里的throw,大概理解了......
  • Pycharm异常处理
    异常处理&调试(类与对象再讲调试)异常:在运行代码过程中遇到的任何错误,大有error字样的都为异常异常处理:对代码中所有可能会出现的异常进行处理疑问:我们为什么要处理异常?......
  • 核酸检测系统数据库设计
    表设计受检人员表CREATETABLECheckedUser(ch_idvarchar(20),ch_accountvarchar(20),ch_passwordvarchar(20),ch_check_statusinteger,ch_health_......
  • 源码解读之TypeScript类型覆盖检测工具type-coverage
    因为团队内部开启了一个持续的前端代码质量改进计划,其中一个专项就是TS类型覆盖率,期间用到了type-coverage这个仓库,所以借这篇文章分享一下这个工具,并顺便从源码阅读的角......
  • [OpenCV实战]13 OpenCV中使用Mask R-CNN进行对象检测和实例分割
    目录​​1背景介绍​​​​1.1 什么是图像分割和实例分割​​​​1.2Mask-RCNN原理​​​​2Mask-RCNN在OpenCV中的使用​​​​2.1模型下载​​​​2.2模型初始化​......