分类与决策树
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
规则1:If refund=no and marst=married then cheat=no 模 …… 型 应 用
分类的过程
• 数据集分区
– 训练集:建立模型 – 验证集:调整和选择模型 – 测试集:评估模型的预测能力
• 建立模型 • 评估并选择模型 • 运用模型 新数据(打分集)
思考:分类模型在什么情况下不适合用于新数据?
案例数据集基于age属性划分
ID 1 2 3 4 5 6 7 8 9 Age Young Young Young Young Young Middle Middle Middle Middle Has_job No No Yes Yes No No No Yes No Own_home No No No Yes No No No Yes Yes Credit Fair Good Good Fair Fair Fair Good Good Excellent Class No No Yes Yes No No No Yes Yes
分析数据集应该包括哪些客户?
ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Fra Baidu bibliotek
Age Young Young Young Young Young Middle Middle Middle Middle Middle Old Old Old Old Old
Has_job No No Yes Yes No No No Yes No No No No Yes Yes No
纯度与混杂度
混杂度的常用测度指标
• 信息熵 ( Entropy) • 基尼指数( Gini Index) • 分类误差(classification error)
信息熵 ( Entropy)
Pj 是数据集合中类别j的相对比例. entropy = pi log2 pi
i
什么情况下,熵最小? 什么情况下,熵最大?
分类与预测
Vicky
银行个人住房贷款审批
银行个人客户提出住房贷款申请,根据历史 数据发现:部分贷款客户不能按时还款。为尽量 降低这种现象,需要发现不能按时还款客户的特 征,以便对以后住房贷款申请的审批提供依据。 2006年年底,由SAS机构与招商银行启动了全 行个人住房贷款评分卡开发与推广项目。 该项目利用客户的历史数据构建评分卡模型, 然后将该模型应用到新客户上,最后决定是否接 受新客户的贷款申请。
10
11 12 13
Middle
Old Old Old
No
No No Yes
Yes
Yes Yes No
Excellent
Excellent Good Good
Yes
Yes Yes Yes
14
15
Old
Old
Yes
No
No
No
Excellent
Fair
Yes
No
案例数据集基于age属性划分
Age Young Yes:2 No:3 Middle Yes:3 No:2 Old Yes:4 No:1
Age
Has_job
Own_home
Credit
Class
1
2 3 4 5 6 7 8 9
Young
Young Young Young Young Middle Middle Middle Middle
No
No Yes Yes No No No Yes No
No
No No Yes No No No Yes Yes
Yes:6 No Yes:3
No:0
No:6
裂分前数据集的熵:Entropy(T0)=−6/15*log2(6/15) − 9/15*log2(9/15)=0.971
划分后数据集的熵EntropyOwn_home(T)= 6/15* Entropy(T1)+ 9/15* Entropy(T2) = 6/15*(− 6/6*log2(6/6) − 0/0*log2(0/6) )+ 9/15*(− 3/9*log2(3/9) − 6/9*log2(6/9) =0.551 信息增益Gain(ownhome)=0.971-0.551=0.42
银行贷款申请 No Fair
No No Yes No No No Yes Yes Yes Yes Yes No No No Good Good Fair Fair Fair Good Good
Own_home
Credit
Class No No Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes No
裂分后数据集的熵EntropyAge(T)= 5/15* Entropy(T1)+ 5/15* Entropy(T2)+ 5/15* Entropy(T3) = 5/15*(− 3/5*log2(3/5) − 2/5*log2(2/5) )+ 5/15*(− 3/5*log2(3/5) − 2/5*log2(2/5) )+ 5/15*(− 1/5*log2(1/5) − 4/5*log2(4/5) )=0.888 信息增益Gain(age)=0.971-0.888=0.083
Fair
Good Good Fair Fair Fair Good Good Excellent
No
No Yes Yes No No No Yes Yes
10
11 12 13
Middle
Old Old Old
No
No No Yes
Yes
Yes Yes No
Excellent
Excellent Good Good
entropy = - 1 log21 - 0 log20 = 0
目标变量为二元变量: entropy = -0.5 log20.5 – 0.5 log20.5 =1
12
银 行 贷 款 数 据 集
ID
Age
Has_job
Own_home
Credit
Class
1
2 3 4 5 6 7 8 9
Young
Yes
Yes Yes Yes
14
15
Old
Old
Yes
No
No
No
Excellent
Fair
Yes
No
银行贷款案例数据集的分类误差: CE=1- 9/15=6/15=0.4
二、建立决策树
常用算法 二叉或多叉 信息熵 • ID3-ID5,C4,C4.5,C5.0 • CART(Classification and Regression Trees分 类与回归树) (C&RT) 二叉 GINI 指数 • CHAID(chi-squared automatic interaction detection,卡方自动交互检测)
7
决策树
• 是一棵二叉或多叉树结构
• 每个内部节点代表一个属性,该节点的分 支表示根据该属性的不同测试条件的输出 • 叶子节点表示一个类标 • 决策树一般是自上而下生成的
内容
决策树基本思想 建立决策树 将决策树转换为决策规则并应用 相关问题讨论
一、决策树思想
• 将数据集根据某种测试条件分为2个或多个 子集,使分裂后的子集在目标变量上具有 更纯的分类
二叉或多叉
建立决策树
• 树的生长
– 分裂属性及其条件的选择 – 何时结束分裂
• 树的选择
1. 裂分目标与属性选择
• 裂分目标 使分裂后数据子集的纯度比裂分前数据集的纯度 最大限度的提高;即不同类别的观测尽量分散在不 同的子集中。 • 指标
– – – – – 信息增益与信息增益率 GINI指数的下降 二分指数 卡方检验 C-SEP、…
分类方法
•决策树方法 •贝叶斯分类法 •LOGISTIC回归 •神经网络方法 •K近邻分类法 •SVM分类法 ……….
决策树(decision tree)
Root
Node
Leaf 规则1:If refund=no and (marst=single or marst=divorced) and taxincome>80k then cheat=yes ……
Fair
Good Good Fair Fair Fair Good Good Excellent
No
No Yes Yes No No No Yes Yes
10
11 12 13
Middle
Old Old Old
No
No No Yes
Yes
Yes Yes No
Excellent
Excellent Good Good
Young Young Young Young Middle Middle Middle Middle
No
No Yes Yes No No No Yes No
No
No No Yes No No No Yes Yes
Fair
Good Good Fair Fair Fair Good Good Excellent
银 行 贷 款 数 据 集
ID
Age
Has_job
Own_home
Credit
Class
1
2 3 4 5 6 7 8 9
Young
Young Young Young Young Middle Middle Middle Middle
No
No Yes Yes No No No Yes No
No
No No Yes No No No Yes Yes
has_job
Yes:6
信息增益分别为: No:0 Yes Gain(hasjob)=0.324 Gain(credit)=0.363 Yes:5 Gain(ownhome)=0.42 No:0 Gain(age)=0.971-0.888=0.083
Fair
Yes
No
银行贷款案例数据集的熵:
Entropy(T)=−6/15*log2(6/15) − 9/15*log2(9/15)=0.971
Gini 指数
Pj 是数据集合中类别j的相对比例.
GINI最大=? 1-1/2 0 GINI最小=?
(目标变量为二元变量)
银 行 贷 款 数 据 集
ID
案例数据集基于其它属性划分
credit
fair Yes:1 good Yes:4 excellent Yes:4
No:4
No:2
No:0
根据hasjob 和credit划分后的熵分别为 EntropyHas_job(T)= 0.647 Yes EntropyCredit(T)=0.608
Own_home No
信息增益
Information Gain = 裂分前数据集的熵 – 裂分后各子数据集的熵 加权和 其中:权重为每个子集中的观测数在裂分前总 观测数中所占的比例
案例数据集基于own_home属性划分
ID 1 2 3 4 5 6 7 8 9 Age Young Young Young Young Young Middle Middle Middle Middle Has_job No No Yes Yes No No No Yes No Own_home No No No Yes No No No Yes Yes Credit Fair Good Good Fair Fair Fair Good Good Excellent Class No No Yes Yes No No No Yes Yes
10
11 12 13
Middle
Old Old Old
No
No No Yes
Yes
Yes Yes No
Excellent
Excellent Good Good
Yes
Yes Yes Yes
14
15
Old
Old
Yes
No
No
No
Excellent
Fair
Yes
No
案例数据集基于ownhome属性划分
Own_home Yes
No
No Yes Yes No No No Yes Yes
10
11 12 13
Middle
Old Old Old
No
No No Yes
Yes
Yes Yes No
Excellent
Excellent Good Good
Yes
Yes Yes Yes
14
15
Old
Old
Yes
No
No
No
Excellent
Yes
Yes Yes Yes
14
15
Old
Old
Yes
No
No
No
Excellent
Fair
Yes
No
银行贷款案例数据集的基尼指数: gini=1-(6/15)2-(9/15)2=0.48
分类误差(classification error)
CE最大=? 1-1/2 CE最小=? 0
(目标变量为二元变量)
Excellent Excellent Excellent Good Good Excellent Fair
分类与预测
• 分类:
– 目标变量为非数值型
• 预测:
– 目标变量为数值型
建模 模型评估
• 根据历史数据集(已知目标变 量),构建模型描述目标变量 与输入变量之间的关系,并依 据模型来分类或预测新数据( 目标变量值未知)。 分类模型也称为分类器。