数据挖掘概念与技术通用课件中文版英文版都有chapter9.pptx

数据挖掘概念与技术通用课件中文版英文版都有chapter9.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1第九章异常检测

29.1概述

9.1.1异常概念异常是数据集中的小比例对象。通常,异常对象被称为离群点、例外(Outlier)、野点等。异常检测是一个有趣的数据挖掘任务,其目标是发现与大部分其他对象不同的对象。异常检测也称偏差检测(deviationdetection)或例外挖掘(exceptionmining),它是发现新知识、新类别的一条有效途径。异常检测可以分为两个子问题:1)定义在给定的数据集合中什么样的数据认为是不一致的;2)找到一个有效的方法挖掘这样的异常。

39.1.2异常的成因常见的异常成因有:数据来源于不同的类。一个数据对象可能不同于其他数据对象(即异常),因为它属于一个不同的类型或类。自然变异。属于同类的数据对象由于自然变异出现了异常。数据测量或收集误差。数据测量和收集过程中出现的误差是另一个异常源。例如,由于人的错误、测量设备的问题或存在噪声,测量值可能被错误记录。

49.1.3异常检测方法对于不考虑数据空间或时间的基本异常检测方法大致可以分成四类:基于统计分布的异常检测(Distribution-basedoutlierdetection)基于偏差的异常检测(Deviation-basedoutlierdetection)基于距离的异常检测(Distance-basedoutlierdetection)基于密度的异常检测(Density-basedoutlierdetection)

5当考虑对象间的空间关系时,常用的异常检测方法有两种:(1)基于图的异常检测(Graph--basedoutlierdetection)(2)基于多维空间的异常检测(Multi-dimensionalspace-basedoutlierdetection)

69.2基于距离的异常检测

9.2.1嵌套-循环(Nested-Loop,NL)算法主要思想:假设N是数据集中对象数,缓冲区的大小为数据集大小的B%,算法将整个缓冲区分成两个阵列,分别称为第一阵列和第二阵列。将数据集中的数据划分成块,每块大小为0.5B%。对象以块为单位读入阵列中,然后直接计算数据对象间的距离。第一阵列中的每个对象都有一个计数器,用于记录对象dmin邻域内的对象数目。某个计数器的值一旦大于一个异常的dmin邻域内最多对象数目M=N(1-pct),该计数器就停止计数。基于距离的异常:没有“足够多”近邻的对象。

7算法:嵌套-循环(NL)算法(D,dmin,M)输入:数据对象集合D,邻域半径dmin,一个异常的dmin邻域内最多对象数目M输出:D中的异常对象步骤:(1)用数据集D中的一个数据块填充第一阵列(2)for第一阵列中每个数据对象ti,do(2.1)counti=0(2.2)for第一阵列中的每个对象tj(2.2.1)ifdist(ti,tj)?dmin,thencounti+1//dist()是距离函数(2.2.2)ifcountiM,then标记ti不是一个异常,处理下一个ti(3)当第一阵列中的对象都比较完后,do(3.1)用另一个数据块填充第二阵列,将那些从未填充过第一阵列的数据块记录下来

8(3.2)for第一阵列中未标记的每个数据对象ti(3.2.1)for第二阵列中的每个对象tjifdist(ti,tj)?dmin,thencounti+1ifcountiM,则标记ti不是一个异常,处理下一个ti(4)输出第一阵列中每一个未被标记的对象ti,表示它是一个异常(5)if第二阵列曾经充当过第一阵列,thenstopelse交换第一阵列和第二阵列的角色,转(2)算法(2)考察了第一阵列中对象间的距离,(3)考察第一和第二阵列中对象间的距离,(5)保证数据集中的每个对象都能被作为中心进行考虑。

9例如,设NL算法用50%的缓冲区。数据集被分成A、B、C、D四个逻辑块。每个阵列和块能容纳1/4数据集的对象数。数据块和阵列如下图所示。

10数据块填充阵列的顺序为:序号第一阵列第二阵列1.AB、C、D读4块(A、B、C、D)2.DA、B、C读2块(B、C)3.CD、A、B读2个块(

文档评论(0)

158****9376 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档