最新要闻
- 今日关注:Alphaliner:2月底港口停运船比率达6.4% 增至去年同期3倍
- 4月上映!《长空之王》新预告出炉:王一博驾驶歼20一飞冲天
- 世界今头条!自嗨锅自热煲仔饭4桶到手价32.8元:15分钟速烹美食
- 今年以来最强沙尘来袭!你的城市在下雨 他的城市在下泥
- 邓紫棋你把我灌醉高音最高是多少?邓紫棋你把我灌醉歌词
- 苏菲日记是什么?苏菲日记的读后感怎么写?
- strict怎么读?strict的反义词是什么?
- 主题班会的开场白有什么要求?主题班会的开场白怎么写?
- 河南洛阳旅游景点排名前十名有哪些?河南洛阳美食排行榜前十名
- 【环球新要闻】害怕开车也不愁 小米汽车新专利:根据驾驶员匹配自动驾驶等级
- 前沿资讯!漫威《美国队长4:新世界秩序》开拍 片场首曝:“猎鹰”美队来了
- 每日热门:一语成谶!网传鬼火少年“三部曲”:片头壮行、片尾撞车
- 俄罗斯伏尔加汽车厂:中国汽车是新款拉达Vesta的主要对手
- 省钱神器!淘宝内测同款比价功能:最快本周上线
- 天天新资讯:生核桃怎么变熟核桃_生核桃怎么弄熟
- 魅族20 PRO三款配色公布:绝美朝阳金吸睛
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
世界今热点:孤立森林(IForest)代码实现及与PyOD对比
(资料图片)
孤立森林(Isolation Forest)是经典的异常检测算法(论文网址)。本文用python对其进行实现,以及与常用的异常检测包PyOD进行效果对比。
简单来说,孤立森林(IForest)中包含若干孤立树(ITree),每颗树的创建是独立的,与其它树无关。假设数据集包含$n$个样本,每个样本都包含$m$个实数特征。在创建每颗孤立树时,根节点首先包含所有$n$个样本。对于每个节点,随机抽取一个特征,在该特征的最大与最小值之间随机取一数$p$,将小于$p$的样本划分在左子节点,将大于$p$的样本划分在右子节点。划分直到叶节点只包含一个样本,或达到树高为止,文中树高定义为$\text{ceil}(\log_2n)$。构建好IForest后的测试阶段,就是计算样本在每颗孤立树上被划分到叶节点的平均路径长度,作为计算异常分数的依据。显然,划分路径越短,异常的可能性越高。
实现代码如下:
#%% 函数定义import torchimport numpy as npimport matplotlib.pyplot as pltdef iTree(X:torch.Tensor, e, l): # X数据集,e当前路径长,l树高最大值 if e >= l or len(X) <= 1: return [0, len(X)] # 0 非叶子节点 q = np.random.randint(0, len(X[0])) M, m = X[:, q].max(), X[:, q].min() p = np.random.rand()*(M - m) + m lchild = iTree(X[X[:,q] < p,:], e+1, l) rchild = iTree(X[X[:,q] >= p,:], e+1, l) return [1, lchild, rchild, q, p]def c(n): c = 0 if n == 1 else 2*(np.log(n-1)+0.5772156649) - (2*(n-1)/n) return cdef PathLength(x, T, e): # x样本,T树,e当前路径长 if T[0] == 0: return e + c(T[1]) if x[T[3]] < T[4]: return PathLength(x, T[1], e+1) return PathLength(x, T[2], e+1)def myIForest(X, t, psi): # X训练集,t树数量,psi子采样 Ts = [] l = np.ceil(np.log(psi)) for i in range(t): x_i = np.random.choice(range(len(X)), [psi], replace=False) Ts .append(iTree(X[x_i], 0, l)) return Tsdef anomalyScore(x, Ts, psi): length = 0 for T in Ts: length += PathLength(x, T, 0) length /= len(Ts) s = 2**(-length/c(psi)) return s#%% 定义正常分布、超参数、绘图矩阵torch.manual_seed(0)np.random.seed(0)points = torch.randn([512, 2]) points[-80:] = torch.randn([80, 2])/3+4t, psi = 100, 256x, y = np.arange(-4.5, 5.5, 0.1), np.arange(-4.5, 5.5, 0.1)X, Y = np.meshgrid(x, y)XY = np.stack([X,Y], -1)Z = np.zeros_like(X)#%% 自定义孤立森林、异常值可视化、决策边界myTs = myIForest(points, t, psi)for i in range(XY.shape[0]): for j in range(XY.shape[1]): Z[i,j] = anomalyScore(XY[i, j], myTs, psi)plt.plot(points[:,0],points[:,1], ".", c = "purple", alpha = 0.3)plt.contourf(X,Y,Z)cont = plt.contour(X,Y,Z, levels=[0.55])plt.clabel(cont, inline=True, fontsize=10)plt.show()#%% pyOD孤立森林、异常值可视化、决策边界from pyod.models.iforest import IForestifor = IForest(t, psi, 0.1, random_state=0)ifor.fit(points)h, w = XY.shape[0], XY.shape[1]XY = XY.reshape(-1, 2)Z = Z.reshape(-1)Z = ifor.decision_function(XY)Z = Z.reshape(h, w)XY = XY.reshape(h,w,2)plt.plot(points[:,0],points[:,1], ".", c = "purple", alpha = 0.3)plt.contourf(X,Y,Z)cont = plt.contour(X,Y,Z, levels=[0]) #决策边界为0plt.clabel(cont, inline=True, fontsize=10)plt.show()
自定义孤立森林和PyOD定义的孤立森林可视化结果分别如下左右图所示:
效果相似。其中自定义代码完全按照论文伪代码实现,使用二叉搜索树的平均失败搜索长度进行归一化,异常分数取值$(0,1)$。PyOD的异常分数取值似乎是$(-1,1)$,以0为区分阈值,即把自定义比例的正常样本的异常分数设置为小于0,大于0则为异常样本。此处设置10%为异常,90%正常。另外,由于自定义代码没有使用并行策略,运行时间会比PyOD长得多。
关键词:
-
今日关注:Alphaliner:2月底港口停运船比率达6.4% 增至去年同期3倍
上证报中国证券网讯(高志刚记者邵好)法国调查公司Alphaliner日前发布的数据显示,由于全球物流需求下...
来源: 世界今热点:孤立森林(IForest)代码实现及与PyOD对比
最资讯丨three.js加载环境贴图
天天热讯:java中同步和异步的区别
今日关注:Alphaliner:2月底港口停运船比率达6.4% 增至去年同期3倍
4月上映!《长空之王》新预告出炉:王一博驾驶歼20一飞冲天
世界今头条!自嗨锅自热煲仔饭4桶到手价32.8元:15分钟速烹美食
今年以来最强沙尘来袭!你的城市在下雨 他的城市在下泥
邓紫棋你把我灌醉高音最高是多少?邓紫棋你把我灌醉歌词
苏菲日记是什么?苏菲日记的读后感怎么写?
strict怎么读?strict的反义词是什么?
主题班会的开场白有什么要求?主题班会的开场白怎么写?
河南洛阳旅游景点排名前十名有哪些?河南洛阳美食排行榜前十名
当前简讯:一种基于实时大数据的图指标解决方案
【天天报资讯】智能零售柜商品检测软件(Python+YOLOv5深度学习模型+清新界面)
来了解下GNOME 2 的 Linux 文件管理器 Caja
【状压DP】蒙德里安的梦想
【环球新要闻】害怕开车也不愁 小米汽车新专利:根据驾驶员匹配自动驾驶等级
前沿资讯!漫威《美国队长4:新世界秩序》开拍 片场首曝:“猎鹰”美队来了
每日热门:一语成谶!网传鬼火少年“三部曲”:片头壮行、片尾撞车
俄罗斯伏尔加汽车厂:中国汽车是新款拉达Vesta的主要对手
省钱神器!淘宝内测同款比价功能:最快本周上线
全球速看:记一次 rr 和硬件断点解决内存踩踏问题
天天新资讯:生核桃怎么变熟核桃_生核桃怎么弄熟
魅族20 PRO三款配色公布:绝美朝阳金吸睛
天天快消息!25日继续公测 暴雪承诺《暗黑4》会解决排队问题:服务器顶得住
环球精选!沙尘天气席卷!北京再现火星同款“蓝太阳” 专家揭秘
世界即时:开特斯拉回村被乡亲群嘲“大冤种” 30万买BBA不好吗?
今日热门!微信聊天记录不用头疼了:vivo宣布跨品牌换机数据迁移
基于深度学习的安全帽检测系统(YOLOv5清新界面版,Python代码)
MAC 最新中文版 FCPX 10.6.5 及相关插件下载安装教程 亲测有效
大数据计算引擎 EasyMR:拥抱开源,引领技术创新
当前聚焦:Java面试问题
解放生产力:30+实用AI工具汇总
全球今日讯!谷歌版ChatGPT开放测试:不会编程、不支持中文
全球聚焦:微软研究员质疑Bard数据集包括Gmail邮件:谷歌迅速澄清
2999元 小米米家对开门540L冰箱今晚开售:风冷无霜保鲜
120mg原生高钙 特仑苏纯牛奶3元/盒大促
天天最新:破解大难题!苹果新专利:佩戴太阳镜也可看清iPhone屏幕内容
【报资讯】vue3
世界视点!设计模式-index
精彩看点:商铺上月买卖91宗 涉21亿创半年高
热点评!平板电脑屏幕冷知识:高刷比高分辨率重要
焦点热讯:比尔·盖茨:GPT是1980年以来最革命性的技术进步
今日热讯:极氪009平均订单金额达52.7万元 一台订单收入相当于吉利卖5台
谷歌版ChatGPT Bard开启公测!CEO:肯定会出错、欢迎反馈
世界焦点!漫威《美队4》正式开拍 首曝片场路透:猎鹰美队就位
世界热议:Android性能优化-ListView自适应性能问题
读C#代码整洁之道笔记03_切面关注点、异常处理和线程与并发
当前时讯:放假一天不调休!2023清明节假期火车票今日开售
快资讯丨《霍格沃茨》在线人数锐减 “反恐同”人士冷嘲热讽
环球今日讯!《战争机器》电影确定编剧
世界聚焦:刚买1个月的特斯拉掉漆车主质疑非新车 售后:交付时没问题
热消息:公交司机急刹车致乘客死亡获刑 官方判定当时不需刹车:交通肇事罪
全球最资讯丨新车品鉴:2020广州车展探馆:广汽传祺EMPOWER
每日热闻!【看新股】10家拟上市银行“换道”注册制:利润普遍增长、资产质量分化、资本充足率承压
精选!iOS 17将支持第三方应用商店:看齐安卓
读Java性能权威指南(第2版)笔记24_ Java飞行记录器JFR
洗衣机6个月不清洗比马桶还脏?我麻了
时代的眼泪 25年历史的数码相机权威网站Dpreview关停
当前快报:Go 并发编程(二):锁、Select、Context、定时器
焦点报道:智能生活垃圾检测与分类系统(UI界面+YOLOv5+训练数据集)
当前通讯!Servlet的基本使用
每日资讯:中国移动:命苦
天天速看:鹿客发布掌心锁V5:掌静脉+3D结构光刷脸解锁 3399元起
尼泊尔空难20天就查明原因?为什么东航事故还没有结果?
世界微资讯!腾讯四年磨一剑!结果 让大家看笑话了
OPPO Find X6 Pro:表演一场简单的光影魔术
亨迪药业(301211):3月21日北向资金减持66.63万股
世界最资讯丨uni-app云开发入门
当前资讯!WPF学习-布局
世界热文:全明星爆款APP“偶像驾到”正式上线 主播经济和明星经纪开启新时代
小屏手机真凉了!苹果卖最差的iPhone 14 Plus 出货量也远超13 mini
今日快讯:mysql集群搭建docker-compose方案
上海农商银行完成上海市政府柜台债发售
山姆会员店寿司致多人上吐下泻:官方拒绝三倍赔偿
天天新消息丨致敬葫芦娃?保时捷911 Carrera GTS泰国特别版官图发布
环球最资讯丨14.5英寸超大屏+天玑9000!联想Y900平板正式发布:4999元起
天天观点:13代酷睿+RTX 40!联想拯救者Y7000P 2023电竞本发布:屏幕大升级
13900HX+4090顶配20999元!联想拯救者Y9000P 2023价格公布
环球最新:睡眠报告:山东人上床睡觉时间全国最早、广东人最能熬夜
焦点快看:埃安(埃)
数据库系统
世界看点:day08-2-Thymeleaf
世界快看:使用OpenCVSharp和NAudio库在C#中录制带有声音的视频并保存下来的代码
焦点快报!债市日报:3月21日
天天观速讯丨放假5天!大学生已经在为五一做准备了
外出告别“板砖”电源!联想拯救者推出140W氮化镓适配器
4799元 创维推出新款G60 4K显示器:150Hz高刷 96W反向充电
即时焦点:2023载人航天飞行任务标识正式发布:中国神话神兽鲲元素
全国车企疯狂降价!吉利汽车CEO:吉利不打价格战
每日消息!微服务与rpc/grpc
全球观热点:第132篇:npm第一次使用自己的包(package-lock.json、package.json文件作用说明)
精彩看点:【Visual Leak Detector】在 QT 中使用 VLD(方式一)
热讯:华硕发布新款Vivobook Go 14/15 OLED笔记本:高配酷睿i3-N305
天天观速讯丨真我GT Neo5 1TB存储网友用掉了500多G:直呼“真香”
全球视讯!Win12及DX13要来了?微软预告DirectX全新功能
通信能力是5G的10倍!全球17家运营商发布6G白皮书:预计2030商用
熬夜伤不起!警惕睡眠质量受电子设备影响
记录--前端加载超大图片(100M以上)实现秒开解决方案
关于“堆”题的总体思路