Isolation Forest孤立森林(二)之sklearn实现,源码分析

孤立森林算法sklearn实现,源码分析

算法一: 首先初始化一些参数

class sklearn.ensemble.IsolationForest(n_estimators=100max_samples=’auto’contamination=’legacy’max_features=1.0bootstrap=Falsen_jobs=Nonebehaviour=’old’random_state=Noneverbose=0)

参数解释:n_estimators = 构建多少个itree

              max_samples=采样数,自动是256

             contamination=c(n)默认为0.1 

            max_features=最大特征数 默认为1

           bootstrap=构建Tree时,下次是否替换采样,为True为替换,为False为不替换

           n_jobs=fit和perdict执行时的并行数

第二步进行fit训练:def fit(self, X, y=None, sample_weight=None):

其中max_samples:

if self.max_samples == 'auto':

max_samples = min(256, n_samples) #如果输入的采样数大于256,就选择256,小于256选择输入的max_samples
itree的最大路径为:max_depth = int(np.ceil(np.log2(max(max_samples, 2))))

然后将max_samples,max_depth,X,sample_weight  传入

super(IsolationForest, self)._fit(X, y, max_samples,max_depth=max_depth,sample_weight=sample_weight)

进行统计:使用Scipy我们很方便的得到数据所在区域中某一百分比处的数值

self.threshold_ = -sp.stats.scoreatpercentile(-self.decision_function(X), 100. * (1. - self.contamination))   
 return self

fit方法就此结束了,下面是创建树也是进行分类的过程。

def decision_function(self, X):

 

 

 

未完待续

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/52078.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

森林图

森林图 以统计指标和统计分析方法为基础,用数值计算绘制出的图形,通常是在平面直角坐标系中,以一条垂直的无效 线(0或者1)为中心,用平衡于x轴的多条线段描述每个组指标的中值和可信区间,最后一…

BFT 最前线 | 互联网惊现 AI 鬼城,中国电信天翼云将发布预训练大模型,周鸿祎谈“万模大战”

文 | BFT机器人 01 网易CEO 丁磊:人工智能价值已被引导到生产第一线 网易数帆推出 CodeWave 智能开发平台。据了解,网易数帆结合自身产品的定位,面向智能编程垂直领域推出大模型,并接入到智能开发平台中。网易 CEO 丁磊表示&…

竞逐对话式AI,百度、字节各有千秋

随着OpenAI陆续发布的ChatGPT引发了AI界热议,新一代的AI热度便开始持续走高。与此同时,以ChatGPT模型为代表的大型预训练模型的出现,也使得对话式AI的生成能力和智能水平得到了飞跃式的提升,得益于此,对话式AI的发展又…

老罗的聊天宝,Low的另一面

昨天3款社交APP在同一天开发布会,而老罗的聊天宝是最不被看好的哪一个。 聊天宝这款产品在朋友圈不少人说low得不行,名字浓浓的山寨气息,icon 更不用说,一个金灿灿的元宝,我也觉得它low。 感觉时空穿越,没有…

专访罗升阳:老罗的Android之旅

【http://www.csdn.net/article/2014-08-15/2821226】 专访罗升阳:老罗的Android之旅 发表于 2014-08-15 14:13| 2098次阅读| 来源 CSDN| 8 条评论| 作者 钱曙光 社区问答 访谈 罗升阳 Android Framework Java 操作系统 allowtransparency"true" frameb…

小红书内测淘宝外链,小红书商业化布局加速?!

临近双十一之际,小红书显得格外活跃。一个新的流量风口即将出现,小红书品牌商家会面临怎样的机遇和挑战呢? ▌淘宝外链从直播间到种草笔记 早在今年8月,小红书头部达人“爱臭美的狗甜儿”(小红书粉丝167万&#xff0…

人工智能 charGPT 机器学习 算力 技术相关(对于常用框架、库、技术)等名词的解释收集整理和自我理解

人工智能 Artificial Intelligence 已经上升到国家战略层面,早在2017年国务院就印发了《新一代人工智能规划》 还有新基建中信息基础设施建设所包含的数据中心,智能中心等算计设施。 包括,图像识别,语音识别,自然语言…

【Qt快速扫盲】QT概述_GUI程序创建_基础知识点等

目录一、Qt概述二、基于Qt创建GUI程序(对应P1-P12)三、基础知识点(对应P13-P28)3.1 Qt专门数据类型3.2 日志输出3.3 字符串类及其相关方法3.4 QVariant类3.5 坐标类QPoint3.6 直线类QLine3.7 直线类QLine3.8 矩形类QRect3.9 日期类…

【Qt】第一、二章:Qt Creator介绍及Hello World程序示例

SDAU学子一枚,从此开始了进行关于Qt的总结复习。 第一章 Qt是一个多平台的C图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。其中包括了高级C代码编辑器、项目和生成管理工具、集成的上下文相关的帮助系统、图形化调试…

Qt 5框架介绍

该文章原创于Qter开源社区(www.qter.org),作者 yafeilinux,转载请注明出处! 一、在帮助中查看所有模块 打开 Qt Creator,进入其帮助模式,然后选择目录方式进行查看,打开 “Qt 5.2.…

Qt学习笔记(三十):Qt 中的绘图

一、QPainter:绘图对象 Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于 QPainter,QPainterDevice 和 QPaintEngine 三个类。 QPainter 用来执行绘制的操作(相当于画家); QPain…

【Qt入门第16篇】 2D绘图(六)坐标系统

导语 前面一节我们讲解了图片的显示,其中很多地方都用到了坐标的变化。这一节我们将讲解Qt的坐标系统,分为两部分来讲解:第一部分主要讲解前面一节的那几个函数,它们分别是translate()平移变换、scale()比例变换、rotate()旋转变…

使用Qt进行程序开发的过程记录

目录 一、qt的安装 二、resources文件的使用 三、Qt中各种设置问题 四、在子页面的简单图表显示 五、Qt发布独立运行的exe的方法 六、Qt创建子页面的方法 七、Qt中使用菜单栏的方法 八、Qt联合C进行文件读取、写入操作 九、Qt关闭窗口函数 十、提示窗口与调试功能的使…

Qt开发技术:Qt绘图系统(二)QPainter详解

若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址:https://blog.csdn.net/qq21497936/article/…

Qt绘图与信号事件

Qt应用开发的基本模式(面向对象) 继承QDailog gkdialog.h #ifndef GK_DIALOG_H #define GK_DIALOG_H #include <QtWidgets/QDialog>class GKDialog: public QDialog{ public:GKDialog(QWidget *parent0);~GKDialog(); }; #endifgkdialog.cpp #include "gkdialog…

我的Qt作品(9)Qt使用Cairo绘图引擎提升抗锯齿效果【开源】

之前写了一篇文章《Qt使用GDI绘图&#xff08;仅Windows平台&#xff09;》 Qt使用GDI绘图&#xff08;仅Windows平台&#xff09;_libaineu2004的博客-CSDN博客 本篇重点介绍Cairo绘图引擎&#xff0c;Qt自带的QPainter的绘图效率和抗锯齿效果都没有cairo的好。cairo 的目标…

基于Qt的多媒体综合应用程序设计(2)

框架结构图等 1.多媒体综合应用程序设计思路 首先创建一个Qt Widgets Application程序,在头文件中完成类、函数及变量的设置,在程序窗口中添加相应的控件,利用控件的属性和方法分别实现文字处理程序跳转、绘图程序跳转、图像处理程序跳转、音频播放器跳转、视频播放器跳转和…

VS+Qt+鼠标框选后掩膜去除背景

前言&#xff1a; 实际采集的图片背景比较复杂&#xff0c;所以我想着采用框选矩形框掩膜的方式简单粗暴的消除背景对图片有用区域的干扰。网上搜索了一圈尝试了几种不同的方式去框选&#xff0c;最后发现还是Qt的鼠标事件比较容易上手。 效果图&#xff1a; 主要思路&#x…

QT—3D绘图

OpenGL是一个跨平台的、用来渲染3D图形的标准API,Qt对OpenGL提供了强大的支持。Qt4时代的QtOpenGL模块在Qt5中已经不再建议使用,OpenGL相关的类被移到了Qt GUI模块。Qt Widgets模块中的QOpenGLWidget类提供了一个可以渲染OpenGL图形的部件&#xff0c;通过该部件可以轻松地将Op…

【Qt】Qt环境配置与入门案例

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Qt环境配置与入门。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路&…