挖掘建模之分类与预测

打印 上一主题 下一主题

主题 816|帖子 816|积分 2448

根据挖掘目标和数据形式可以建立分类与预测、聚类分析、关联规则、时序模式、毛病检测、智能保举等模型,资助企业提取数据中蕴含的商业价值,提高企业的竞争力。
1.分类与预测

就餐饮企业而言,常常会遇到这样的题目:      
1)怎样基于菜品汗青贩卖情况,以及节假日、气候和竞争对手等影     响因素,对菜品销量进行趋势预测?      
2)怎样预测在将来一段时间哪些顾客会流失,哪些顾客最有大概会       成为VIP客户?      
3)怎样预测一种新产物的贩卖量,以及在哪种范例的客户中会较受欢迎?
除此之外,餐厅司理需要通过数据分析来资助他相识具有某些特征的顾客的消费习惯;餐饮企业老板盼望知道下个月的贩卖收入,原材料采购需要投入多少,这些都是分类与预测的例子。
1.1 实现过程



  • 分类和预测是预测题目的两种重要范例。
  • 分类重要是预测分类标号(离散、无序的),而预测重要是建立连续值函数模型,预测给定自变量的条件下因变量的值
分类:指将数据映射到预先界说好的群组或类。
由于在分析测试数据之前,种别就已经确定了,所以分类通常被称为有监督的学习。分类算法要求基于数据属性值来界说种别。分类就是构造一个分类模型,把具有某些特征的数据项映射到某个给定的种别上。下图是一个三分类题目:

预测:确定两种或两种以上变量间相互依赖的函数模型,然后进行预测或控制。
分类和预测的实现过程类似,以分类模型为例,实现过程如图:

分类算法有两步过程:
第一步是学习步,通过归纳分析练习样本集来建立分类模型得到分类规则;
第二步是分类步,先用已知的检验样本集评估分类规则的正确率,如果正确率是可以接受的,则利用该模型对未知类标号的待测样本集进行预测。
预测模型的实现也有两步,类似于分类模型,
第一步是通过练习集建立预测属性(数值型的)的函数模型,
第二步是预测,模型通过检验后再进行预测或控制。

1.2 常用的分类与预测算法

重要分类与预测算法简介:
算法名称

算法形貌


回归分析

回归分析是确定预测属性(数值型)与其他变量间相互依赖的定量。关系的最常用的统计学方法。包括线性回归、非线性回归、Logistic回归、岭回归、主因素回归、偏最小二乘回归等模型。


决策树

它接纳自顶向下的递归方式,在决策树的内部结点进行属性值的比较,并根据不同的属性值从该结点向下分支,叶结点是要学习划分的类。

人工神经网络

一种模拟大脑神经网络布局和功能而建立的信息处理体系,表示神经网络的输入与输出变量之间关系的模型。

贝叶斯网络

贝叶斯网络又称信度网络,是Bayes方法的扩展,是如今不确定知识表达和推理领域最有效的理论模型之一。

支持向量机

SVM支持向量机根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以得到最好的推广能力。

1.3 回归分析



  • 回归分析是通过建立模型来研究变量之间相互关系的密切程度、布局状态及进行模型预测的一种有效工具,在工商管理、经济、社会、医学和生物学等领域应用十分广泛。
  • 从19世纪初高斯提出最小二乘估盘算起,回归分析的汗青已有200多年。从经典的回归分析方法到近代的回归分析方法,按照研究方法划分,回归分析研究的范围大抵如下:

在数据挖掘环境下,自变量与因变量具有相干关系,自变量的值是已知的,因变量是要预测的。
常用的回归模型如下: 
回归模型

实用条件

算法形貌

线性回归

因变量与自变量是线性关系

对一个或多个自变量和因变量之间的线性关系进行建模,可用最小二乘法求解模型系数。

非线性回归

因变量与自变量之间不都是线性关系

对一个或多个自变量和因变量之间的非线性关系进行建模。如果非线性关系可以通过简朴的函数变换转化成线性关系,用线性回归的思想求解;如果不能转化,用非线性最小二乘方法求解。

Logistic回归

因变量的一样平常有1-0(是否)两种取值

是广义线性回归模型的特例,利用Logistic函数将因变量的取值范围控制在0和1之间,表示取值为1的概率。

岭回归

到场建模的自变量之间具有多重共线性

是一种改进最小二乘估计的方法。

主因素回归

到场建模的自变量之间具有多重共线性

主因素回归是根据主因素分析的思想提出来的,是对最小二乘法的一种改进,它是参数估计的一种有偏估计。可以消除自变量之间的多重共线性。

 

 用于建模的数据集表示为{(x1,y1),(x2,y2),......,(xm,ym)},用数学公式
                    可表示该模型。 将特征X中每一个值xi都带入此中,得到对应的h(xi),界说可以将损失界说为yi和h(xi)之间的差值平方的和,可修改为
。 求损失值的最小值:最小二乘法或梯度下降法等。 该模型实在就是从一堆练习会集去算出一条直线,使数据集到直线之间的距离差最小。
练习1

1.利用一元线性回归模型,预测工资收入与工作年限之间的关系。

一元线性回归模型反应的是单个自变量对因变量的影响。
多元线性回归模型则反应多个自变量对因变量的影响,模型中含有多个自变量和1个因变量。

 

求损失值的最小值:最小二乘法或梯度下降法等。
1.4 决策树

决策树算法在分类、预测、规则提取等领域有着广泛应用。在20世纪70年代后期和80年代初期,呆板学习研究者J.Ross Quinilan提出了ID3算法以后,决策树在呆板学习、数据挖掘邻域得到极大的发展。Quinilan后来又提出了C4.5,成为新的监督学习算法的性能比较基准。1984年几位统计学家提出了CART分类算法。ID3和CART算法大约同时被提出,但都是接纳类似的方法从练习元组中学习决策树。
决策树是一树状布局,它的每一个树结点可以是叶节点,对应着某一类,也可以对应着一个划分,将该节点对应的样本集划分成若干个子集,每个子集对应一个节点。对一个分类题目,从已知类标志的练习元组学习并构造出决策树是一个从上至下,分而治之的过程。

选择一个合适的特征(属性)作为判断节点,可以快速的分类,淘汰决策树的深度。
特征(属性)选择的目标使得分类后的数据集比较纯,降低数据的复杂度。
怎样衡量一个数据集纯度,这里要引入数据纯度函数:信息增益,信息增益率和基尼系数
常用的决策树算法如下表所示,本节将详细先容ID3算法,也是最经典的决策树分类算法。
决策树算法

算法形貌

ID3算法

其核心是在决策树的各级节点上,利用信息增益方法作为属性的选择尺度,来资助确定生成每个节点时所应接纳的合适属性。

C4.5算法

C4.5决策树生成算法相对于ID3算法的重要改进是利用信息增益率来选择节点属性。C4.5算法可以克服ID3算法存在的不敷:ID3算法只实用于离散的形貌属性,而C4.5算法既能够处理离散的形貌属性,也可以处理连续的形貌属性。

CART算法

CART决策树是一种十分有效的非参数分类和回归方法,通过构建立、修剪树、评估树来构建一个二叉树。当终结点是连续变量时,该树为回归树;当终结点是分类变量,该树为分类树。

信息熵和信息增益:

信息熵表示的是不确定度,也可以说是信息量的巨细。数据集种各种别数据均匀分布时,不确定度最大,信息量最大,此时熵就最大。当选择某个特征(属性)对数据集进行分类时,分类后的数据集信息熵会比分类前的小,其差值表示为信息增益。


假设在样本数据集 D 中,混有 c 种种别的数据。构建决策树时,根据给定的样本数据集选择某个特征值作为树的节点。在数据会集,可以盘算出该数据中的信息熵:

此中 D 表示练习数据集,c 表示数据种别数,pi 表示种别 i 样本数量占所有样本的比例。
对应数据集 D,选择特征 A 作为决策树判断节点时,在特征 A 作用后的信息熵的为 Info(D),盘算如下:

此中 k 表示样本 D 被分为 k 个部分。 信息增益表示数据集 D 在特征 A 的作用后,其信息熵淘汰的值。公式如下:

ID3算法的详细实现步调:
(1)盘算当前样本集合中所有属性的信息增益。
(2)选择信息增益大的属性作为测试属性,把测试属性取值相同的样本划分为同一个样本子集。(3)若样本子集的种别只含有单个属性或者没有再可选择的属性进行样本划分,则分支为叶子节点,判断其属性值并标注上相应的符号,然后返回调用处;否则,对样本子集递归调用本算法。


  • ID3算法是一种基于信息增益的决策树分类算法,它选择当前样本会集具有最大信息增益值的属性作为测试属性;样本集的划分则依据测试属性的取值进行,测试属性有多少不同取值就将样本集划分为多少子样本集,同时,决策树上相应于该样本集的节点长出新的叶子节点。
  • ID3算法根据信息理论,接纳划分后样本集的不确定性作为衡量划分优劣的尺度,用信息增益值度量:信息增益值越大,不确定性越小。因此,ID3算法在每个非叶节点选择信息增益最大的属性作为测试属性。该属性使得对结果划分中的样本分类所需的信息最小,并反映划分的最小随机性。
1.5 ID3算法——示例(buy_computer) 

age

income

student

credit_rating

buy_computer

youth

high

no

fair

no

youth

high

no

excellent

no

middle_aged

high

no

fair

yes

senior

medium

no

fair

yes

senior

low

yes

fair

yes

senior

low

yes

excellent

no

middle_aged

low

yes

excellent

yes

youth

medium

no

fair

no

youth

low

yes

fair

yes

senior

medium

yes

fair

yes

youth

medium

yes

excellent

yes

middle_aged

medium

no

excellent

yes

middle_aged

high

yes

fair

yes

senior

medium

no

excellent

no

   首先,盘算数据集分类前的熵:
在数据会集,给定的样本数量为14,类标号为Yes (表示购买电脑)的样本数量为n1=9,类标号为No (表示不购买电脑)的样本数量为n2=5,因此数据会集两个种别的先验概率分别为:     p(Yes)=n1/total=9/14            
p(No)=n2/total=5/14

  
对数据集分类前的熵为:        
 Info(n1,n2)
=-p(Yes)*log(p(Yes))-p(No)*log(p(No))                            
=-9/14*log(9/14)-5/14*log(5/14)                            
≈0.94

    其次,盘算各属性划分数据集时的信息增益:
先盘算属性age的熵。由于属性age有三个不同取值(youth,middle_aged,senior),因此可将数据集划分成三个子集:X1, X2和X3。
对于子集X1(age=youth),它的样本数量为n1=5,此中类标号为Yes的数量n11=2,类标号为No的数量n12=3,则这两类样本在子集X1中所占的比例分别为:          
p11=n11/n1=2/5=0.4          
p12=n12/n1=3/5=0.6

  
  这样,子集X1的熵为:        
Info(n11,n12)
=-p11*log(p11)-p12*log(p12)                            
=-0.4*log(0.4)-0.6*log(0.6) 

     其次,盘算各属性划分数据集时的信息增益:
先盘算属性age的熵。由于属性age有三个不同取值(youth,middle_aged,senior),因此可将数据集划分成三个子集:X1, X2和X3。
对于子集X2(age=middle_aged),它的样本数量为n2=4,此中类标号为Yes的数量n12=4,类标号为No的数量n22=0,则这两类样本在子集X2中所占的比例分别为:          
p21=n12/n2=4/4=1          
p22=n22/n2=0/4=0

  
  这样,子集X2的熵为:        
Info(n12,n22)=-p12*log(p12)-p22*log(p22)=0
    其次,盘算各属性划分数据集时的信息增益:
先盘算属性age的熵。由于属性age有三个不同取值(youth,middle_aged,senior),因此可将数据集划分成三个子集:X1, X2和X3。
对于子集X3(age=senior),它的样本数量为n3=5,此中类标号为Yes的数量n13=3,类标号为No的数量n23=2,则这两类样本在子集X3中所占的比例分别为:          
p13=n13/n3=3/5=0.6          
p23=n23/n3=2/5=0.4

  
这样,子集X3的熵为:        
Info(n13,n23)
=-p13*log(p13)-p23*log(p23)                            
=-0.6*log(0.6)-0.4*log(0.4) 

     其次,盘算各属性划分数据集时的信息增益:
先盘算属性age的熵。由于属性age有三个不同取值(youth,middle_aged,senior),因此可将数据集划分成三个子集:X1, X2和X3。
由于子集X1, X2和X3各自的期望信息分别为Info(n11,n12),Info(n12,n22)和Info(n13,n23),因此,属性age划分数据集的熵为:    
E(age) =
5/14*Info(n11,n12) + 4/14*Info(n12,n22) + 5/14*Info(n13,n23)              
≈ 0.694

盘算属性age的信息增益为:      
Gain(age) = Info(Yes,No) – E(age) = 0.94 – 0.694 = 0.246
    其次,盘算各属性划分数据集时的信息增益:
按上述方式,可依次盘算其他属性的信息增益分别为:
Gain(income) = 0.029
Gain(student) = 0.151
Gain(credit_rating) = 0.048

  在4个属性中,age的信息增益最大(0.246),因此先以该属性来划分数据集
  

ID3算法的长处

ID3算法通常只需要测试一部分属性就可完成对练习数据集的分类。
从ID3算法构建的决策树中,很轻易得到相应的决策规则。
ID3算法的缺点

ID3算法在选择根节点和内部结点的属性时,利用信息增益作为评价尺度。 信息增益更倾向于选择取值种类较多的属性进行划分,而不肯定是最优属性进行划分。
ID3算法只能对属性值为离散型的数据集进行划分(构建决策树),不能处理属性值为连续型的数据集。
C4.5算法利用信息增益比来确定分枝属性,能够克服ID3算法利用信息增益时偏向于取值范例较多属性的不敷。 属性Af的信息增益比的界说为: 此中:

C4.5算法既可以处理离散型形貌属性,也可以处理连续型形貌属性。


  • 当处理离散型属性时,C4.5算法与ID3算法相同;
  • 当处理连续型属性时,C4.5算法需要先将连续型属性转换成离散型属性。 
当处理连续型属性时,C4.5算法需要先将连续型属性转换成离散型属性。 对于连续值属性Ac,假设在某个结点上的样本数量为total,则C4.5算法将进行如下操作:
(1) 将该结点上的所有样本按照属性的取值由小到大排序,得到排序结果{A1c, A2c, ..., Atotalc};
(2) 在{A1c, A2c, ..., Atotalc}中生成total-1个分割点     此中:第i个(1≤i≤total-1)分割点的取值设置为vi=(Aic+A(i+1)c)/2。
(3) 从total-1个分割点中选择最佳分割点。     此中:最佳分割点具有最大信息增益比
将“buy_computer”中的属性age的取值由{youth, middle_aged, senior}改为详细年龄{32, 25, 46, 56, 60, 52, 42, 36, 23, 51, 38, 43, 41, 65},C4.5算法离散化的详细过程。
(1) 对年龄序列由小到大排序,新的序列为{23, 25, 32, 36, 38, 41, 42, 43, 46, 51, 52, 56, 60, 65};
(2) 对新的年龄序列生因素割点:由于样本数量为14,因此可生成13个分割点。
例如:第一个分割点为(23+25)/2=24,它可将数据集划分为年龄在区间[23, 24]的样本和在区间(24, 65]的样本。 
(3) 选择最佳分割点。
例如:对于第一个分割点,可以盘算得到年龄在区间[23, 24]和(24, 65]的样本数量以及每个区间的样本属于各个种别的数量,从而盘算第一个分割点的信息增益比
依此方式,盘算其他分割点的信息增益比,并从中选出具有最大信息增益比的分割点。
(4) 根据最佳分割点,离散化属性的连续值。
例如:当最佳分割点为37时,数据会集的样本可以根据age取值分成两类,一类是≤37,另一类是>37。
说明:在有些情况下,大概需要确定多个最佳分割点。可以按上述过程得到依次信息增益比最大的分割点、次大的分割点等等。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表