《商务智能 管理视角》——(五)数据挖掘(2)

来源:互联网 发布:java旅游项目 编辑:程序博客网 时间:2024/04/28 12:36

数据挖掘方法:分类,关联,聚类,回归

【分类】

如果预测的是一个类别标签(如天气“晴”、“雨” 或“多云”),则该预测问题称为分类

而如果预测的是一个数量值(如温度68°F),则该预测问题称为回归

 

最通用的分类预测两步法包括 模型建立/预测 模型测试/部署。模型建立阶段使用包括实际分类标签在内的一组输入数据。在模型经过训练以后,针对测试组样本进行模型的精确度评估测试,最终进行实际应用部署,使用模型对新的数据实例(类别标签未知)进行类别预测。

评估模型要考虑的因素如下:

预测精度:模型对新的或者前所未见的的数据类别标签进行正确预测的能力;

速度:模型生成和应用的计算成本,越快越好;

鲁棒性:在给定数据存在噪声或存在错误值时,模型进行合理精确预测的能力;

延展性:给定相当大量的数据时,高效构建预测模型的能力;

可解读性:模型的理解洞察水平(例如,模型对某个预测给出怎样的结论)。

 

分类模型正确性估算:

分类模型正确性估算的主要来源是混淆矩阵或者成为分类矩阵列联表。下图显示了一个二分分类问题的混淆矩阵。从左上角到右下角对角线数目表示正确的决策,而对角线以外的数目表示错误。

 

实际分类

正列

负例

预测类别

正列

正确

正例数目(TP)

错误

正例数目(FP)

负例

错误

负例数目(FN)

正确

负例数目(TN)

 

下图给出了常见的分类模型正确性指标公式:

指标

描述

正确的正例类别比例 =TP/(TP+FN)

正例总数除正确分类的正例数目的比例(即命中率或取消率)

正确的负例类别比例 =TN/(TN+FP)

负例总数除正确分类的负例数目的比例(即错误警报率)

正确性 =(TP+TN)/(TP+TN+FP+FN)

实例总数除正确分类的实例数目(正例和负例)的比例

精度 =TP/(TP+FP)

正确分类的正例数目加上不正确分类的正例数目之和。除正确分类的正例数目的比例

取消率 =TP/(TP+FN)

正确分类的正例数目加上不正确分类的负例数目之和,除正确分类的正例数目的比例

 

对于非二元分类的问题,混淆矩阵更大(矩阵的大小由分类标签的唯一编号确定),正确性指标限于分类准确率总体分类准确率

 

 

 

对监督学习算法推导的分类模型进行正确性估算是非常重要的。原因有如下两点:首先,可以用于估计未来预测的正确性,这意味着对预测系统输出预测结果的信心水平;其次,可以用于从给定集合中选择分类器(从很多训练的分类模型中识别出最好的)。以下是一些使用最广泛的分类数据挖掘模型估计方法。

       【简单拆分】 简单拆分(或者测试样本估计)将数据分成两个互斥的子集,分别成为训练集和测试集(或对照集)。通常的做法是选定数据中的2/3最为训练集,剩下1/3最为测试集。建模者使用训练集,然后在测试集上对所建立的分类器进行测试。

当使用人工神经网络作为分类器时,情况有所不同。此时,数据被分割成3个互斥子集:训练集,验证集,测试集。在建模中,验证集用于防止过度拟合。

下图说明了简单拆分方法:


对方法的主要评价是其假设2个数据子集中的数据属于同一个类别(即具有完全相同的属性)。由于分割是一个简单的随机过程,所以对于数据可能对分类变量有偏斜的大多数实际数据集,这一假设很难满足。为了改善这种状况,提出了分层取样,将样本分层作为输出的变量。尽管这对简单拆分有所改进,但仍然存在有于简单随机分割而带来的偏差。

【K折线交叉确认】 在这两种或多种方法的预测精度时,未了最大限度地减少与训练集和测试集随机取样相关的偏差,可以使用K折线交叉确认。K折线交叉确认也称为轮回估测,将整个数据集随机分成k个大小近似相等的互斥子集,分类模型经过k次训练和测试,每次使用除了一次以外的所有其他折数据进行训练,然后在剩下的一折数据上进行测试。模型的k折交叉确认总体正确性可有由k个正确性指标进行简单平均计算得到,参见以下公式所示:


其中,CVA 代表交叉检验正确性,k为采用的折数,A为每折的正确性指标(如,命中率、敏感度、特异性)

(K折线交叉确认:把数据分成k份互斥子集,k-1 份最为训练集,1份作为测试集)



其他分类评估方法:

留一法

留一法和k值为1的k折交叉确认累类似。也就是说,模型数量和数据点数量是相等的,每个数据点在模型上测试一次。这种方法很耗时,但是对于较小的数据集来说

 

拔靴复制法

从初始数据中提取固定数目的实例作为训练样本,数据集剩下部分用于测试。根据需要,将此过程重复多次。

 

折刀法

与留一法类似。在折刀法计算精度时,估算过程的每一次迭代都省略一个样本。

 

PRO曲线下面积

PRO曲线下面积是一种图形评估技术,在Y轴上绘制真阳性率,在X上绘制假阳性率。PRO曲线以下的面积确定了一个分类器的精度:1表示精度极好;而0.5表示精度等于随机概率。实际精度范围在两个极端值之间。例如,在下图中,A的分类表现好于B,而C则并不比投硬币的随机概率结果更好。

分类技术和算法:

决策树分析

 

统计分析

 

神经网络

 

基于实例的推理

 

贝叶斯分类器

 

遗传算法

 

粗糙集


【聚类】

聚类分析

聚类分析是一种用于解决分类问题的探索数据分析工具。

       其目标是将实例分成组或群(例如:人、事务、事件),使得相同群中的成员关联程度较强,而不同群中的成员彼此关联程度较弱。

       聚类分析的重要性在于其可以发现数据中的关联和结构,这些关联和结构虽然本来并不明显却合乎情理,一旦发现就很有用。

 

聚类分析结果可用于:

1.      识别分类计划(例如客户类型)

2.      提出认可种族描述统计模型

3.      给出新实例的分类规则,以实现识别、定位或诊断目标

4.      提供定义和估算措施、大小,替换原本宽泛的概念

5.      发现标记和表达类别的典型例子

6.      为其他数据挖掘方法降低问题空间的大小和复杂度

7.      识别特定领域的(例如偶发事件检测)离群值(outlier)

 

离群值:离群值是指在数据中有一个或几个数值与其他数值相比差异较大。如果一个数值偏离观测平均值的概率小于等于1/(2n),则该数据应当舍弃(其中n为观察例数,概率可以很据数据的分布进行估计)



确定聚类的最佳数目

       聚类算法通常需要制定所要寻找的聚类数目。若该数目是先前未知的,就要以某种方法来确定。可是,并不存在一种最佳方法计算该值。因此,提出了多种启发式方法。其中应用最广泛的有以下几种:

●将变量的比例看做是聚类数目的函数。也就是说,选择一个值最为聚类的数目,使得增加聚类不会给数据建模带来多大的好处。明确地说,若对聚类解释的变量比例绘图,那么存在一个点使得边际收益下降(图中将出现一个角),即为所选择的聚类数目

●令聚类的数目为(n/2)½,其中n是数据点的数目。

●应用赤池信息准则(一种基于熵概念的拟合优度测度)确定聚类数目。

●应用贝叶斯信息准则(一种基于最大拟然估计的模型选择标准)确定聚类数目。

 

分析方法:

●层级或非层级统计方法(例如k-均值,k-模式)

●自组织映射(Self-OrganizingMap,SOM)结构神经网络

●遗传算法

 

上述方法一般使用两种通用的分类方法之一:

分裂法

聚集法

距离测度

欧几里得距离,曼哈顿距离(测量实际距离)

加权平均数(信息系统开发)


【关联】

       本质上,关联规则挖掘的目标在于发现大型数据库变量(字段)之间的有趣关系(密切悬系)。由于在商业问题中的应用,通常将它称为购物篮分析

“所有的关联规则都是有趣且有用的嘛?”关联规则挖掘使用两个通用指标来回答这个问题:支持度置信度。现在看看一条关联规则看起来是什么样的:


式中,X——产品或服务,称为左手边(Left Hand Size LHS),或前因;Y ——产品或服务,称为右手边(Right Hand Size RHS),或后果;这里,XY关联。S为特定规划的支持度,C为置信度。规则的支持度用于度量相关产品和服务(即左手边+右手边=笔记本电脑、防病毒软件、延期服务计划)在同一交易中共同出现的频率,也就是数据集中包含特定规则中提到的所有产品和服务的交易比例。在本例假想商店数据库中,大约有30%的交易在单张销售中包含所有3中产品。规则的置信度度量右手边和左手边中产品和服务共同出现的频度,也就是包含LHS同时也包含RHS的交易比例。换句话说,就是在规则左手边已经存在的情况下,交易中发现规则右手边的条件概率。

(支持度: 三种一起出现概率30%;置信度:左边都有,右边出现的概率70%)

 

Apriori 算法

 

 

人工神经网络