(附代码)使用Python+Pycaret进行异常检测
目标检测与深度学习
共 4869字,需浏览 10分钟
· 2021-07-20
点击左上方蓝字关注我们
通过探索性异常检测分析了解异常 设置 PyCaret 环境并尝试准备任务的各种数据 比较性能并可视化不同的异常检测算法
介绍
网络安全 — 监控网络流量并确定异常值 欺诈检测—— 可以识别信用卡欺诈 IT 部门 —发现并应对意外风险 银行业务—— 确定异常交易行为
为什么是 PyCaret?
它是一个灵活的低代码库,可以提高生产力,从而节省时间和精力。 PyCaret 是一个简单易用的机器学习库,使我们能够在几分钟内执行 ML 任务。 PyCaret 库允许自动化机器学习步骤,例如数据转换、准备、超参数调整和标准模型比较。
学习目标
执行探索性异常检测分析 PyCaret 环境介绍 创建和选择最佳模型 比较模型中的异常 可视化和解释模型
PyCaret 安装
pip3 install pycaret
数据导入
导入必要的库
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
导入数据集
from pycaret.datasets import get_data
all_datasets = get_data(‘index’)
df = get_data(‘anomaly’)
df.head()
df.describe()
df.info()
探索性异常检测分析
Swarm 图
plt.rcParams["figure.figsize"] = (10,8)
sns.swarmplot(x="variable", y="value", data=pd.melt(df))
plt.show()
箱形图
sns.boxplot(x="variable", y="value", data=pd.melt(df))
plt.show()
散点图
sns.scatterplot(data=df, x="Col1", y='Col2')
sns.scatterplot(data=df, x="Col3", y='Col4')
sns.pairplot(df)
df1 = df.melt(‘Col1’, var_name=’cols’, value_name=’vals’)
g = sns.factorplot(x=”Col1", y=”vals”, hue=’cols’, data=df1)
异常检测
from pycaret.anomaly import *
setup = setup(df, session_id = 123)
模型创建
models()
隔离森林
iforest = create_model('iforest')
print(iforest)
局部异常因子
lof = create_model('lof')
print(lof)
K最近邻
knn = create_model('knn')
print(knn)neighbours
比较模型中的异常
iforest_results = assign_model(iforest)
iforest_results.head()
lof_results = assign_model(lof)
lof_results.head()
knn_results = assign_model(knn)
knn_results.head()
iforest_anomaly=iforest_results[iforest_results['Anomaly']==1]
iforest_anomaly.shape
lof_anomaly=lof_results[lof_results['Anomaly']==1]
lof_anomaly.shape
knn_anomaly=knn_results[knn_results['Anomaly']==1]
knn_anomaly.shape
解释和可视化
from yellowbrick.features import Manifold
dfr = iforest_results['Anomaly']
viz = Manifold(manifold="tsne")
viz.fit_transform(df, dfr)
viz.show()
plot_model(knn)
plot_model(iforest)
异常并不总是坏兆头!有时它们在解释结果或数据分析方面非常有用。这些可用于解决不同的数据科学用例。
sns.pairplot(lof_results, hue = "Anomaly")
save_model(iforest,'IForest_Model')
尾注
END
整理不易,点赞三连↓
评论
金融研究 | 使用Python测量关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
词向量(更新) | 使用MD&A2001-2022语料训练Word2Vec模型
buTips: 公众号推送后内容只能更改一次,且只能改20字符。 如果内容出问题,或者想更新内容, 只能重复推送。 为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-03-24-load-w2v-and-expand-your-concpe
大邓和他的Python
0
金融研究(更新) | 使用Python构建关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
阿里的同事,写的代码真 TMD 优雅!
通过这篇文章你将了解到整洁的代码对项目、公司和你的重要性,以及如何书写整洁的代码.通过命名、类、函数、测试这四个章节,使我们的代码变得整洁.1、为什么要保持代码整洁?不整洁的代码随着时间的增加而增加时,生产力会随之降低.导致的结果就是:代码不易扩展或扩展容易引发其他问题程序崩溃加班增加公司成本(加人
Java专栏
1
老爸嘲讽我了,写破代码一年就挣十几万,他在工地带50个工人,一个月光人头费就3万,让我滚回去跟他干!
点击上方 "大数据肌肉猿"关注, 星标一起成长点击下方链接,进入高质量学习交流群今日更新| 1052个转型案例分享-大数据交流群来自:网络,侵删有个网友的父亲是做工程的,天天就嘲笑他,说他天天写着破代码有啥用,一年就拿个十多万的死工资,然后告诉他自己在工地里面带了50个工人,一个月能抽三万
程序源代码
0
管理世界2024 | 使用管理层讨论与分析测量「企业人工智能指标」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址 https://textdata.cn/blog/2024-04-19-ai-improve-firm-productivity/
大邓和他的Python
0
15种时间序列预测方法总结(包含多种方法代码实现)
向AI转型的程序员都关注了这个号👇👇👇在这篇文章中,我们将深入探讨时间序列预测的基本概念和方法。我们将首先介绍单元预测和多元预测的概念,然后详细介绍各种深度学习和传统机器学习方法如何应用于时间序列预测,包括循环神经网络(RNN)、一维卷积神经网络(1D-CNN)、Transformer、自回归模型(
机器学习AI算法工程
0
中国人民大学《大语言模型》书籍中文版开放下载!还配套代码工具库~
大语言模型综述文章《A Survey of Large Language Models》团队终于出书啦!而且是中文版——《大语言模型》!这本书整理呈现了大模型技术框架和路线图,是一本非常好的入门书籍。🧿🧿🧿
此外,官方不仅发布了电子版 PDF 下载链接,还提供了配套资源。点赞 👍图书下载 → [大
机器学习算法与Python实战
0