从零开始的数据挖掘课复习(预习)
Posted 中二病没有蛀牙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始的数据挖掘课复习(预习)相关的知识,希望对你有一定的参考价值。
引论
数据爆炸——解决方法:数据仓库和联机分析处理
什么是数据挖掘?
从大型数据库中提取有趣的 (非平凡的, 蕴涵的, 先前未知的 并且是潜在有用的) 信息或模式
步骤
KDD 过程包括数据清理, 数据集成, 数据选择, 变换, 数据挖掘, 模式评估, 和知识表示
在什么数据上进行挖掘?
关系数据库
数据仓库
事务(交易)数据库
先进的数据库和信息存储
- 面向对象和对象-关系数据库
- 空间和时间数据
- 时间序列数据和流数据
- 文本数据库和多媒体数据库
- 异种数据库和遗产数据库
- WWW
数据挖掘功能: 特征, 区分, 关联, 分类, 聚类, 孤立点 和趋势分析, 等。
可挖掘的数据类型:
- 数据库数据
- 数据仓库
- 事务数据
- 其他类型的数据
数据挖掘分类
描述式数据挖掘
预测式数据挖掘
不同的角度,不同的分类
-
待挖掘的数据库类型 :
关系的, 事务的, 面向对象的, 对象-关系的, 主动的, 空间的, 时间序列的, 文本的, 多媒体的, 异种的, 遗产的, WWW, 等. -
待发现的知识类型:
特征, 区分, 关联, 分类, 聚类, 趋势, 偏离和孤立点分析, 等。
多/集成的功能, 和多层次上的挖掘 -
所用的技术类型
面向数据库的, 数据仓库 (OLAP), 机器学习, 统计学, 可视化, 神经网络, 等。 -
所适合的应用类型
零售, 电讯, 银行, 欺骗分析, DNA 挖掘, 股票市场分析, Web 挖掘, Web日志分析, 等
数据
一个数据对象代表一个实体(entity)。
数据对象又称为样本、实例、数据点、或对象。
数据对象用属性(attribute)描述。
数据行对应数据对象; 列对应属性。
重点 属性类型
属性有哪些?特点?
属性可以是标称的、二元的、序数的或数值的。
属性是一个数据字段,表示数据对象的一个特征。
标称属性(nominal attribute)
其值是一些符号或者事物的名称,每个值代表某种编码或状态。
二元属性(binary attribute)
是一种标称属性,只有两个状态:0或1。
对称的(symmetric): 两种状态具有同等价值,携带相同权重。
如:性别
非对称的(asymmetric): 其状态的结果不是同样重要。
如:艾滋病毒的阳性和阴性结果。
对重要的结果用1编码,另一个用0编码。
序数属性(ordinal attribute)
其可能的值之间具有有意义的序或者秩评定(ranking),但是相继值之间的差是未知的。
如:成绩={优,良,中,差}
其中心趋势可以用它的众数和中位数表示,但不能定义均值。
注意
标称、二元和序数属性都是定性的,即只描述对象的特征,不给出实际的大小。
数值属性
数值属性是定量的,它是可度量的量
区间标度(interval-scaled)属性:使用相等的单位尺度度量。
- 值有序,可以评估值之间的差,不能评估倍数。
- 没有绝对的零点。
如:摄氏温度,华氏温度
比率标度(ratio-scaled)属性
- 具有固定零点的数值属性。
- 值有序,可以评估值之间的差,也可以说一个值是另一个的倍数。
如:开式温温标(K),重量,高度,速度
在机器学习领域开发的分类算法,通常把属性分为离散的或连续的。
离散属性(discrete Attribute):具有有限或者无限可数个值。
如: 邮编、省份数目具有有限个值,customer_Id是无限可数的。
可以用或者不用整数表示。
连续属性(Continuous Attribute):属性值为实数。
一般用浮点变量表示。
如果属性不是离散的,则它是连续的。
数据的基本统计描述
中心趋势度量
众数:据集中出现频率最高的值
中列数:最大值和最小值的平均值
数据不对称:
正倾斜:众数小于中位数
负倾斜:众数大于中位数
度量数据散布
极差:最大值和最小值之差
分位数:自数据上每隔一定间隔的点,把数据划分为基本大小相等数连贯集合
四分位数:三个数据点把数据分布划分成相等的四个部分
四分位极差:IQR = Q3 - Q4
五数概括:min, Q1, median, Q3, max
盒图 Boxplot: 分布直观表示,体现五数概括
离群点 Outlier: 第三个四分位数之上或者第一个四分位数之下至少1.5 x IQR的值
数据的相似性和相异性
相似性(Similarity):两个对象相似程度的数量表示
数值越高表明相似性越大,通常取值范围为[0,1]
相异性(Dissimilarity)(例如距离):两个对象不相似程度的数量表示
数值越低表明相似性越大
相异性的最小值通常为0,相异性的最大值(上限)是不同的
邻近性(Proximity):相似性和相异性都称为邻近性
数据预处理
数据预处理的原因
数据质量的含义:
准确性
完整性
一致性
时效性
可信性
可解释性
现实世界的数据
- 不完整的
缺少属性值或某些感兴趣的属性,或仅包含聚集数据。 - 含噪声的
包含错误或存在偏离期望的离群值。 - 不一致的
采用的编码或表示不同,如属性名称不同 - 冗余的
如属性之间可以相互导出
导致不正确数据的原因
- 数据输入和获得过程数据错误
- 数据集成所表现出来的错误
- 数据传输过程所引入的错误
数据预处理的形式
- 数据清理(改善脏数据)
补充缺失数据、平滑噪声数据、识别或删除离群点,解决不一致 - 数据集成(使用来自多个数据源的数据时,解决冗余的问题)
集成多个数据库、数据立方或文件 - 数据变换
规范化、数据离散化、概念分层产生 - 数据归约(简化数据集,用更少量的数据得到和原本的数据集几乎相同的结果)
简化数据、但产生同样或相似的结果
数据清理
书上p58
缺失值的处理方法:
忽略元组
人工填写空缺值
使用一个全局常量填充空缺失值
使用属性的中心度量(如均值或中位数)填充缺失值
使用与给定元组属同一类的所有样本的属性均值或中位数
使用最可能的值填充空缺值
噪声数据噪声是被检测的变量的随机误差或方差。
引起噪声数据的原因:
数据收集工具的问题
数据输入错误
数据传输错误
技术限制
命名规则的不一致
回归:用一个函数(回归函数)拟合数据来光滑数据。
线性回归(直线)
多元线性回归(曲面)
聚类:将类似的值聚集为簇。落在簇集合之外的值被视为离群点。
数据集成
合并来自多个数据存储的数据
数据识别:每个属性的元数据包括名字、含义、数据类型和属性的允许取值范围,以及处理空白、零或NULL值的空值规则。这样的元数据可帮助避免模式集成的错误。
冗余和相关分析 :+
一个属性(如:年收入)如果能由另一个或另一组属性”导出“,则这个属性可能是冗余的。属性或维命名的不一致也可能导致结果数据集中的冗余。
有些冗余可以被相关分析检测到
标称数据: 卡方检验
数值属性:相关系数和协方差,他们都评估一个属性的值如何随另一个变化。
数据归约
得到数据的归约表示,使信息内容的损失最小化。
(1)维规约:减少所考虑的随机变量或属性的个数。小波变换、主成分分析。
(2)数量规约:用替代的、较小的数据表示形式替换原数据。存放数据规约表示的非参数方法包括直方图、聚类、抽样和数据立方体聚集。
(3)数据压缩:使用变换,以便得到原数据的规约或**“压缩”表示**。
数据变换与数据离散化
数据变换是把数据变化成适合于挖掘的形式
数据变换策略
(1)光滑:去掉数据中的噪声。这类技术包括分箱、回归和聚类。
(2)属性构造:可以由给定的属性构造新的属性并添加到属性集中,以帮助挖掘过程。
(3)聚集:对数据进行汇总或聚集。例如,可以聚集日销售数据,计算月和年销售量。
(4)规范化:把属性数据按比例缩放,使之落入一个特定的小区间,如-1.0~1.0或0.0~1.0。
规范化:将数据按比例缩放,使之落入一个小的特定区间(书上p75)
方法有:最大最小规范化,z分数规范化,小数定标规范化
(5)离散化:数值属性(例如,年龄)的原始值用区间标签(例如,010,1120等)或概念标签(例如,youth、adult、senior)替换。
(6)由标称数据产生概念分层:属性,如street,可以泛化到较高的概念层,如city或country。许多标称属性的概念分层都蕴含在数据库的模式中,可以在模式定义级自动定义。
标称数据的概念分层生成方法:
由用户或专家在模式级显式地说明属性的部分序。
通过显式数据分组说明分层结构的一部分。
说明属性集,但不说明它们的偏序,然后系统根据算法自动产生属性的序,构造有意义的概念分层。
对只说明部分属性集的情况,则可根据数据库模式中的数据语义定义对属性的捆绑信息,来恢复相关的属性。
数据仓库
数据仓库是一个数据库,它与单位的操作数据库分开维护。
允许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对信息处理提供支持
数据仓库是一个面向主题的、集成的、随时间而变化的、不容易丢失的数据集合,支持管理部门的决策过程
面向主题,数据集成,时变的,非易失的是数据仓库的关键特征
数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业战略决策所需要的信息。数据仓库也常常被看做一种体系结构,通过将异构数据源中的数据集成在一起而构建,支持结构化和/或专门的查询、分析报告和决策制定。
与数据库的区别
操作数据库系统的主要任务是联机事务处理OLTP
日常操作: 购买,库存,银行,制造,工资,注册,记帐等
数据仓库的主要任务是联机分析处理OLAP
数据分析和决策支持,支持以不同的形式显示数据以满足不同的用户需要
重点 数据立方体
概念:在数据仓库的研究文献中,一个n维的数据的立方体叫做基本方体。给定一个维的集合,我们可以构造一个方体的格,每个都在不同的汇总级或不同的数据子集显示数据,方体的格称为数据立方体。
0维方体存放最高层的汇总,称作顶点方体;而存放最底层汇总的方体则称为基本方体。
分类:
- 星座模式
事实表在中心,周围围绕地连接着维表(每维一个),事实表含有大量数据,没有冗余。 - 雪花模式
是星型模式的变种,其中某些维表是规范化的,因而把数据进一步分解到附加表中。结果,模式图形成类似于雪花的形状。 - 事实星座(Fact constellations): 复杂应用可能需要多个事实表共享维表, 这种模式可以看作星型模式的汇集,因此称为星系模式(galaxy schema),或者事实星座(fact constellation)
度量:
-
分布的(distributive):将函数用于n个聚集值得到的结果和将函数用于所有数据得到的结果一样。
比如:count(),sum(),min(),max()等 -
代数的(algebraic):函数可以由一个带M个参数的代数函数计算(M为有界整数),而每个参数值都可以有一个分布的聚集函数求得。
比如:avg(),min_N(),standard_deviation() -
整体的(holistic):描述函数的子聚集所需的存储没有一个常数界(无法以上述方法进行计算)。
比如:median(),mode(),rank()
OLAP操作
数据仓库的三种应用
信息处理
支持查询和基本的统计分析,并使用交叉表、表、图标和图进行报表处理
分析处理
对数据仓库中的数据进行多维数据分析
支持基本的OLAP操作,切块、切片、上卷、下钻、转轴等
数据挖掘
从隐藏模式中发现知识
支持关联分析,构建分析性模型,分类和预测,并用可视化工具呈现挖掘的结果
数据立方体
从数据分析的角度看,数据挖掘可以分为描述性挖掘和预测性挖掘
描述性挖掘:以简洁概要的方式描述数据,并提供数据的有趣的一般性质。
E.g. 数据泛化就是一种描述性数据挖掘
预测性数据挖掘:通过分析数据建立一个或一组模型,并试图预测新数据集的行为。
E.g 分类、回归分析等
基本概念
数据立方体有利于多维数据的联机分析处理
数据立方体使得从不同的角度对数据进行观察成为可能
方体计算(物化)的挑战:海量数据,有限的内存和时间
海量数据运算对大量计算时间和存储空间的要求
基本方体的单元是基本单元,非基本方体的单元是聚集单元
冰山立方体
部分物化是存储空间和响应时间的折中方案
事实上,很多高维方体都是稀疏的(包含很多度量值为0的单元)
对于稀疏的数据立方体,我们往往通过指定一个最小支持度阈值(也称冰山条件),来进行部分物化,这种部分物化的方体称之为冰山方体
闭单元
一个单元c是闭单元,如果单元c不存在一个跟c有着相同度量值的后代d
闭立方体:一个仅有闭单元组成的数据立方体
频繁挖掘模式
频繁模式是频繁出现在数据集中的模式
如项集、子序列或者子结构
项集:集合
子序列:有顺序,先,然后,……
子结构:结构形式
关联规则的两个兴趣度度量
支持度
置信度
规则的支持度(support)和置信度(confidence)是规则兴趣度的两种度量。它们分别反映所发现规则的有用性和确定性。
通常,如果关联规则同时满足最小支持度阈值和最小置信度阈值,则此关联规则是有趣的
K项集
关联规则挖掘过程
一般来说,关联规则的挖掘可以看作两步的过程:
找出所有频繁项集
该项集的每一个出现的频繁性 ≥ min_sup
由频繁项集产生强关联规则——即满足最小支持度和最小置信度的规则
主要挑战:会产生大量满足min_sup的项集,尤其当min_sup设置得低的时候
一个长度为100的频繁项集{a1,a2,…,a100}包含的频繁项集的总个数为
这是因为如果一个项集是频繁的,则它的每个子集也是频繁的。
闭项集和极大频繁项集
闭项集:
如果不存在真超项集Y使得Y与X在S中有相同的支持度计数,则称项集X在数据集S中是闭的。
项集X是S中的极大频繁项集(或极大项集):如果X是频繁的,并且不存在超项集Y,使得X是Y的真子集,并且Y在S中是频繁的。
挖掘方法 Apriori 算法
最简单的关联规则挖掘,即单维、单层、布尔关联规则的挖掘。
Apriori算法是挖掘布尔关联规则频繁项集的算法
Apriori算法利用频繁项集性质的先验知识(prior knowledge),通过逐层搜索的迭代方法,即将k-项集用于探察(k+1)-项集,来穷尽数据集中的所有频繁项集。
Apriori算法利用的是Apriori性质:频繁项集的所有非空子集也必须是频繁的。
由连接和剪枝两个步骤组成
强关联规则需要满足最小支持度和最小置信度
Apriori算法主要的挑战:
要对数据进行多次扫描;
会产生大量的候选项集;
对候选项集的支持度计算非常繁琐;
解决思路
减少对数据的扫描次数;
缩小产生的候选项集;
改进对候选项集的支持度计算方法
提高效率的方法:
- 基于hash表的项集计数
将每个项集通过相应的hash函数映射到hash表中的不同的桶中,这样可以通过将桶中的项集计数跟最小支持计数相比较先淘汰一部分项集。 - 事务压缩(压缩近一步迭代扫描的事务数)
不包含任何k-项集的事务不可能包含任何(k+1)-项集,这种事务在下一步的计算中可以加上标记或删除。 - 划分 (为找候选项集划分数据)
挖掘频繁项集只需要两次数据扫描
D中的任何频繁项集必须作为局部频繁项集至少出现在一个部分中。
第一次扫描:将数据划分为多个部分并找到局部频繁项集
第二次扫描:评估每个候选项集的实际支持度,以确定全局频繁项集 - 抽样(在给定数据的一个子集挖掘)
牺牲精确度来减少算法开销,为了提高效率,样本大小应该以可以放在内存中为宜,可以适当降低最小支持度来减少遗漏的频繁模式
基于频繁模式增长的算法——FP树
FP树的好处
- 完整性
不会打破任何事务数据中的长模式
为频繁模式的挖掘保留了完整的信息 - 紧凑性
减少了不相关的信息——非频繁的项被删除
按频率递减排列——使得更频繁的项更容易在树结构中被共享
数据量比原数据库要小
第三种:使用垂直数据格式的算法
关联规则的兴趣度量
客观的:支持度,置信度
主观的:
只有用户才能确定一个规则是否有趣的,而且这种判断是主观的,因不同的用户而异;通常认为一个规则(模式)是有趣的,如果:
它是出人意料的
可行动的(用户可以使用该规则做某些事情)
相关分析:
提升度:相关性度量
重点 分类
分类的一般方法
第一步,建立一个分类模型,描述预定数据类或概念集(学习阶段)
训练数据集:由为建立模型而被分析的数据元组形成
训练样本:训练数据集中的单个样本(元组)
学习模型可以由分类规则、判定树或数学公式的形式提供
第二步,使用模型,对将来的或未知的对象进行分类(分类阶段)
测试集:要独立于训练样本集,避免“过分拟合”的情况
对每个测试样本,将已知的类标号和该样本的学习模型类预测比较
准确率:被模型正确分类的测试样本的百分比
如果准确率可以接受,那么使用该模型来分类标签为未知的样本
决策树
每个内部节点(非叶节点)表示一个测试,每个分支代表该测试的一个输出
属性选择度量是一种选择分裂准则,将给定类标号的训练元组最好的进行划分的方法
理想情况,每个划分都是“纯”的,即落在一个给定分区的所有元组都属于相同的类
属性选择度量又称为分裂规则
包括:信息增益,增益率,基尼指数
必考大题 信息增益
决策树过分拟合带来的问题:
由于数据中有噪点和离群点,有的分支反应的是数据的异常
对于未知样本的判断会不准确
防止过分拟合的两种方法:
-
先剪枝
通过提前停止树的构造,如果划分一个结点元组导致低于预定义临界值的划分,则给定子集的进一步划分将停止。
选择一个合适的临界值往往很困难 -
后剪枝
由“完全生长”的树剪去子集——算法产生一个渐进的剪枝树集合
使用一个独立的测试集来评估每颗树的准确率,就能得到具有最小期望错误率的决策树
贝叶斯定理
基于规则的分类
如果多个规则被触发,则需要一种解决冲突的策略来决定激活哪一个规则,并对X指派它的类预测
规模序: 方案把最高优先权赋予具有“最苛刻”要求的被触发的规则,其中苛刻性用规则前件的规模度量,激活具有最多属性测试的被触发的规则。
基于类的序: 类按“重要性”递减排序,如按普遍性的降序排序
基于规则的序: 根据规则质量的度量,或领域专家的建议,把规则组织成一个优先权列表
评估与选择
保持方法,随机二次抽样:
给定的数据随机的划分为两个独立的集合
- 训练集,通常2/3的数据被分配到训练集
- 检验集,通常1/3的数据被分配到检验集
随机二次抽样: 保持方法的变形将保持方法重复k次,总准确率估计取每次迭代准确率的平均值
交叉验证(k-折交叉验证)
初始数据随机地划分成k个互不相关的子集,每个子集的大小大致相等
在第i次迭代, 分区 Di 用作检验集,其他区位训练集
留一: 每次只给检验集“留出”一个样本
分层交叉验证:折被分层,使的每个折中样本的类分布与在初始数据中的大致相同
自助法
处理较小的数据集合比较有效
从给定训练元组中有放回的均匀抽样
在有放回的抽样中,允许机器多次选择同一个元组
最常用的一种是 .632 自助法
提高分类准确率的技术
重点 聚类分析
概念:
聚类分析(cluster analysis)简称聚类(clustering ),是一个把数据对象(或观测)集划分成子集的过程。每个子集是一个簇(cluster),使得簇中的对象彼此相似,但与其他簇中的对象不相似。
相异性和相似性根据描述对象的属性值评估。
由于簇是数据对象的集合,簇内的对象彼此相似,而与其他簇的对象不相似,因此数据对象的簇可以看做隐含的类。在这种意义下,聚类有时又称自动分类。
分类称做监督学习,因为给定了类标号信息,即学习算法是监督的,因为它被告知每个训练元组的类隶属关系。
聚类被称做无监督学习(unsupervised learning ),因为没有提供类标号信息。
聚类分析的数据挖掘功能应用
-
作为一个独立的工具来获得数据分布的情况
聚类分析是获得数据分布情况的有效方法。通过观察聚类得到的每个簇的特点,可以集中对特定的某些簇作进一步分析。这在诸如市场细分、目标顾客定位、业绩估评、生物种群划分等方面具有广阔的应用前景。 -
作为其他算法(如:特征化、属性子集选择和分类)的预处理步骤
利用聚类进行数据预处理,可以获得数据的基本概况,在此基础上进行特征抽取或分类就可以提高精确度和挖掘效率。也可将聚类结果用于进一步关联分析,以获得进一步的有用信息 -
聚类分析可以完成孤立点挖掘
许多数据挖掘算法试图使孤立点影响最小化,或者排除它们。然而孤立点本身可能是非常有用的。如在欺诈探测中,孤立点可能预示着欺诈行为的存在。
重点 常用聚类算法
- 划分方法
- 层次的方法
- 基于密度的方法
- 基于网格的方法
- 基于模型的方法
划分方法
给定一个n个对象或元组的数据库,一个划分方法构建数据的k个划分,每个划分表示一个簇,并且k<=n。每个组至少包含一个对象,每个对象属于且仅属于一个组。
划分准则:同一个聚类中的对象尽可能的接近或相关,不同聚类中的对象尽可能的原理或不同
簇的表示:
- K-均值算法
由簇的平均值来代表整个簇
步骤:
评价:
特点:
可扩展性较好,算法复杂度为O(nkt),其中n为对象总数,k是簇的个数,t是迭代次数。
经常终止于局部最优解
适合数据:只有当簇均值有定义的情况下,k均值方法才能使用。(某些标称属性的均值可能没有定义)
- k中心点算法
由处于簇的中心区域的某个值代表整个簇
降低算法对离群点的敏感度
步骤:
当存在噪声和离群点时,k中心点方法比k均值方法更加鲁棒
中心点较少的受离群点影响
k中心点方法的执行代价比k均值方法要高
k均值方法: O(nkt)
k中心点方法:
O
(
k
(
n
−
k
)
2
)
O(k(n-k)^2)
O(k(n−k)2)
n与k较大时,k中心点方法的执行代价很高
两种方法都要用户指定簇的数目k
层次方法
对给定数据对象集合进行层次分解
- 自底向上方法(凝聚):开始将每个对象作为单独的一个组,然后相继的合并相近的对象或组,直到所有的组合并为一个,或者达到一个终止条件。
如:AGNES算法 - 自顶向下方法(分裂):开始将所有的对象置于一个簇中,在迭代的每一步,一个簇被分裂为多个更小的簇,直到最终每个对象在一个单独的簇中,或达到一个终止条件
如:DIANA算法
簇的直径:在一个簇中的任意两个数据点的距离中的最大值
层次聚类方法的改进—BIRCH
基于密度的方法
基于距离的聚类方法的缺点:只能发现球状的簇,难以发现任意形状的簇。
基于密度的据类:只要临近区域的密度(对象或数据点的数目)超过某个临界值,就继续聚类。
优点:可以过滤掉“噪声”和“离群点”,发现任意形状的簇。
如:代表算法有:DBSCAN、OPTICS、DENCLUE算法等。
基于网格的方法
把对象空间量化为有限数目的单元,形成一个网格结构。所有的聚类都在这个网格结构上进行。
优点:处理数度快(因为处理时间独立于数据对象数目,只与量化空间中每一维的单元数目有关)
例如:STING
STING算法采用了一种多分辨率的方法来进行聚类分析,该聚类算法的质量取决于网格结构最低层的粒度。如果粒度比较细,处理的代价会显著增加;但如果粒度较粗,则聚类质量会受到影响。
STING算法的主要优点是效率高,通过对数据集的一次扫描来计算单元的统计信息,因此产生聚类的时间复杂度是O(n)。在建立层次结构以后,查询的时间复杂度是O(g), g远小于n。STING算法采用网格结构,有利于并行处理和增量更新。
评估
聚类评估估计在数据集上进行聚类的可行性和被聚类方法产生的结果的质量。主要包括如下任务:
- 估计聚类趋势
- 确定数据集中的簇数
- 测定聚类质量
重点 离群点检测
什么是离群点?
分类
- 全局离群点:
显著的偏离数据集中其余部分的点 - 情景离群点(条件离群点)
关于特定情境下,它显著的偏离其他对象
情景离群点是局部离群点的推广 - 集体离群点
一个数据对象子集作为整体显著的偏离整个数据集,这个子集形成集体离群点。
重点 背 离群点检测挑战 P354
正常对象和离群点的有效建模
针对应用的离群点检测
在离群点检测中处理噪声
可理解性
离群点出现的原因:
测量、输入错误或系统运行错误所致
数据内在特性所决定
客体的异常行为所致
由于离群点产生的机制是不确定的,离群点挖掘算法检测出的“离群点”是否真正对应实际的异常行为,不是由离群点挖掘算法来说明、解释的,只能由领域专家来解释,离群点挖掘算法只能为用户提供可疑的数据,以便用户引起特别的注意并最后确定是否真正的异常。对于异常数据的处理方式也取决于应用,并由领域专家决策。
几个需要处理的问题:
(1) 全局观点和局部观点
离群点与众不同,但具有相对性。
(2) 点的离群程度
可以通过定义对象的偏离程度来给对象打分——离群因子(Outlier Factor)或离群值得分(Outlier Score),即都为离群点的情况下,也还有分高和分低的区别。
(3) 离群点的数量及时效性
正常点的数量远远超过离群点的数量,离群点的数量在大规模数据集中所占的比例较低,小于5%甚至1%
检测方法
基于统计学
假定所给定的数据集存在一个分布或概率模型(例如,正态分布或泊松分布),然后将与模型不一致(即分布不符合)的数据标识为离群数据。
- 优点:
离群点检测的统计学方法具有坚实的基础,建立在标准的统计学技术(如分布参数的估计)之上。
当存在充分的数据和所用的检验类型的知识时,这些检验可能非常有效。 - 缺点:
大部分统计方法是针对单个属性的,对于多元数据技术方法较少。
在许多情况下, 数据分布是未知的。
对于高维数据, 很难估计真实的分布。
这类方法不适合混合类型数据
基于距离
基于距离的离群点检测方法,其基本思想如下:
一个对象是离群的,如果它远离大部分其它对象
- 优点:
基于距离的离群点检测方案简单
确定数据集的有意义的邻近性度量比确定它的统计分布更容易,综合了基于分布的思想,克服了基于分布方法的主要缺陷 。 - 缺点:
(1) 检测结果对参数k的选择较敏感
(2)时间复杂度为 O ( n 2 ) O(n ^ 2) O(n2),难以用于大规模数据集,这里n为数据集的规模;
(3)需要有关离群因子阈值或数据集中离群点个数的先验知识,在实际使用中有时由于先验知识的不足会造成一定的困难。
(4) 因为它使用全局阈值,不能处理不同密度区域的数据集。
两种策略:
基于密度
当数据集含有多种分布或数据集由不同密度子集混合而成时,数据是否离群不仅仅取决于它与周围数据的距离大小,而且与邻域内的密度状况有关。
这里使用每个对象到第k个最近邻的距离大小来度量密度。
基于聚类
物以类聚—相似的对象聚合在一起。
基于聚类的方法有两个共同特点:
(1)先采用特殊的聚类算法处理输入数据而得到聚类,再在聚类的基础上来检测离群点。
(2)只需要扫描数据集若干次,效率较高,适用于大规模数据集。
WEKA
WEKA所处理的数据集是一个**.arff文件**的二维表
以上是关于从零开始的数据挖掘课复习(预习)的主要内容,如果未能解决你的问题,请参考以下文章