版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python数据挖掘实战》✩精品课件合集《Python数据挖掘实战》
第十一章异常检测二、
基于统计的异常检测算法
一、概述主要内容三、
基于聚类的异常检测算法四、孤立森林方法一、概述
异常检测(AnomalyDetection)是一种重要的数据挖掘任务,其主要目的是识别与其它观测数据相比有明显偏离的数据,而这些数据被称为异常点(Anomaly)或者离群点(Outlier)。异常可能代表着极少数的、不可预测或者不确定、罕见的事件。在一些特殊的应用中,异常数据可能代表具有特殊意义的事件或模式。
一、概述
由于异常点的分布未知,来源复杂,使得异常检测常面临着如下的困难:未知性异构性严重的类别不平衡
目前,大多数已提出的异常检测方法采用无监督的方式,包括以下几类:
1.基于统计的方法:如基于多元正态分布的异常检测方法。2.基于距离的方法:如基于kNN的方法等。3.基于密度的方法:如局部离群因子(LOF)方法等。4.基于聚类的方法:如基于DBSCAN的方法等。5.基于树模型的方法:如孤立森林(IsolationForest)方法等。一、概述
由于异常点的分布未知,来源复杂,使得异常检测常面临着如下的困难:未知性异构性严重的类别不平衡
目前,大多数已提出的异常检测方法采用无监督的方式,包括以下几类:
1.基于统计的方法:如基于多元正态分布的异常检测方法。2.基于距离的方法:如基于kNN的方法等。3.基于密度的方法:如局部离群因子(LOF)方法等。4.基于聚类的方法:如基于DBSCAN的方法等。5.基于树模型的方法:如孤立森林(IsolationForest)方法等。二、基于统计的异常检测方法
基于统计的异常检测算法一般通过两个步骤来识别异常点:
(1)假设数据服从一定的概率分布(如正态分布、泊松分布),并利用现有数据估计分布函数中的参数;
(2)计算每个数据对象隶属于该分布的概率,最后将概率最低的少数数据视为异常。
其中,正态分布是实际应用中最为常用的一种概率分布模型。
二、基于统计的异常检测方法
二、基于统计的异常检测方法
二、基于统计的异常检测方法
二、基于统计的异常检测方法
异常检测模型场采用以真阳率(TPR,truepositiverate)和假阳率(FPR,falsepositiverate)为基础的性能指标进行评价:AUC(areaundercurve):ROC曲线线下面积precision@n:又称为”TOP-n精准度”。若数据集中原有的n个异常对象,被模型识别出k个,此时precision@n=k/n。二、基于统计的异常检测方法
3.基于Python的实现实现方法:使用np.mean()和np.cov()函数分别计算数据集的均值和协方差;使用自定义的multivariate_Gaussian()函数计算数据对象在多元正态分布上的概率密度值。二、基于统计的异常检测方法
3.基于Python的实现在人工数据集上,检验多元正态分布异常检测方法的有效性,并采用AUC和precision@n两个指标进行评价。三、基于聚类的异常检测方法
聚类分析是发现强相关数据对象的过程,而异常检测是发现不与其他数据强相关对象的过程。因此,聚类分析天然可以用于异常检测。
将聚类模型应用在异常检测中通常由两种思路:三、基于聚类的异常检测方法
聚类分析是发现强相关数据对象的过程,而异常检测是发现不与其他数据强相关对象的过程。因此,聚类分析天然可以用于异常检测。
将聚类模型应用在异常检测中通常由两种思路:
(1)丢弃远离其它簇的小簇
将所有的数据按照其相似度分为若干个簇,在此种情况下,远离其它数据对象的小簇在特征空间中处于“孤立”的位置,如果这个簇内的数据特别少,则自然地可以认为这个“小簇”内所有的数据点均为异常
三、基于聚类的异常检测方法
聚类分析是发现强相关数据对象的过程,而异常检测是发现不与其他数据强相关对象的过程。因此,聚类分析天然可以用于异常检测。
将聚类模型应用在异常检测中通常由两种思路:
(1)丢弃远离其它簇的小簇
将所有的数据按照其相似度分为若干个簇,在此种情况下,远离其它数据对象的小簇在特征空间中处于“孤立”的位置,如果这个簇内的数据特别少,则自然地可以认为这个“小簇”内所有的数据点均为异常
(2)基于原型的聚类方法
首先对所有数据进行聚类,然后评估每个数据对象隶属于它所在的簇的程度。通常,可以用每个数据到它的原型的距离来衡量隶属度值三、基于聚类的异常检测方法
基于Python的实现:
以DBSCAN聚类算法为例,DBSCAN会自动将远离簇心的数据对象识别为异常点,因此天然地适用于异常检测任务。
(a)eps=0.4;
(b)eps=1.5DBSCAN聚类模型的异常识别结果(×表示异常数据,o表示正常数据)四、孤立森林
1基于原理四、孤立森林
在该过程中,我们实际使用了一棵的决策树来切分数据,如右侧所示。
显然,对象B跟其它数据对象比较疏远,只用很少的切分次数就可以把它切单独分离出来,对象A跟其他数据对象聚集在一起,可能需要更多的次数才能把它单独切分出来。四、孤立森林
再看二维数据集的情况::
四、孤立森林
可以观察到的现象:距离其他对象越远的数据,越容易被孤立出来,它在决策树(孤立树)中的位置与根节点越靠近;反之,与其他对象越近的对象,则需要更多次数的切分才能将它孤立出来,它在决策树中的位置与根节点越远。
孤立森林模型实现异常检测的基本原理:我们可以根据在“孤立"数据的过程中,数据对象出现在决策树(孤立树)中的位置来估计对象的异常程度,越异常的对象,越远离其他对象,因而越可能出现在决策树中比较高的位置(更靠近根节点),反之亦然。四、孤立森林
孤立树(iTree):孤立森林中的决策树称为”孤立树“,它具有以下明显特点:(1)构建孤立树的目标是将每一个数据对象划分到它的一个叶子节点上;(2)孤立树中节点的分裂条件(包括属性和分裂值)是随机选取的;(3)它是一棵二叉树;(4)孤立森林模型同时生成大量的孤立树。四、孤立森林
四、孤立森林
四、孤立森林
2基于Python的实现
我们使用第三方的Pyod工具包中实现的孤立森林模型。
可以在Anaconda下的命令行环境使用conda命令或者pip命令安装,如下所示:
pipinstallpyod
工具包的pyod.models.iforest模块提供了IForest类,使用它可以创建一个孤立森林模型,其基本语法为:
IForest(n_estimators=100,max_samples='auto',max_features=1.0,contamination=0.1,bootstrap=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校紧急物资采购制度
- 采购部采买制度模板
- 采购集中谈判制度模板
- 采购验收支付制度
- 金华采购管理制度
- 2025年前台沟通考核卷
- 三类分数阶微分方程周期与反周期边值问题解存在性研究
- 2026年外聘医生合同(1篇)
- 2026年消防工程供货安装合同(1篇)
- 汽车租赁给公司合同(31篇)
- JB∕T 7301-2017 手持式凿岩机
- (新版)中国移动认证L1、L2、L3等级考试总题库-单选题库(共12部分-2)
- 提高网络运维信息化水平值0
- 工笔花鸟临摹课件
- (新版)餐厅服务员初级资格考试题库(含答案)
- 锚索施工资料表格模板
- 影视照明技术与艺术汇总
- 电力环网柜箱变基础计算表
- 江苏国强产品质量证明书 -
- 硫酸钙晶须项目经济效益与费用的识别与计算(模板)
- 高血压的病例讨论ppt课件
评论
0/150
提交评论