大数据财务分析——基于Python(PPT)12.pptx

大数据财务分析——基于Python(PPT)12.pptx

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

第12章

决策树模型+财务舞弊模型搭建

by张敏王宇韬

第一讲决策树模型的基本原理

12.1决策树模型的基本原理

12.2案例实战:财务舞弊预测模型搭建

12.3模型的参数调优

12.1.1决策树模型简介

决策树模型是机器学习各种算法模型中比较好理解的一个模型,它的基本原理便是通过对一系列问题进行if/else的推导,最终实现相关决策。

下图12-1所示为一个典型的决策树模型:员工离职预测模型的简单演示。该决策树首先判断员工满意度是否小于5,答案为“是”则认为该员工会离职,答案为“否”则接着判断其收入是否小于10,000元,答案为“是”则认为该员工会离职,答案为“否”则认为该员工不会离职。

满意度5

这只是个简单演示,之后要讲的实际的财务舞弊预测模型会根据大数据搭建一个稍微复杂的模型,不过决策树模型的核心原理就是上图所示的内容了。并且商业实战中不会单纯根据“满意度”和“收入10,000”两个特征就判断是否离职,而是根据多个特征来预测离职概率,并根据相应的阈值来判断是否离职,如离职概率超过50%即认为该员工会离职。

这里解释几个决策树模型的重要关键词:根节点、父节点、子节点和叶子节点。

父节点和子节点是相对的,子节点由父节点根据某一规则分裂而来,然后子节点作为新的父节点继续分裂,直至不能分裂为止。根节点则和叶子节点是相对的,根节点是没有父节点的节点,即初始节点,叶子节点则是没有子节点的节点,即最后的节点。决策树模型的关键即是如何选择合适的节点进行分裂。

收入10,000

不离职

离职

离职

12.1.2决策树模型的建树依据

决策树模型的建树依据主要用到的是基尼系数的概念。基尼系数(gini)用于计算一个系统中的失序现象,也即系统的混乱程度。基尼系数越高,系统混乱程度越高,建立决策树模型的目的就是降低系统的混乱程度,从而到达合适的数据分类效果,基尼系数的计算公式如下:

其中为类别在样本T中出现的频率,即类别为的样本占总样本个数的比率。Z为求和公式,即把所有的进行求和。

例如,对于一个全部都是离职员工的样本来说,里面只有一个类别:离职员工,其出现的频率是

100%,所以该系统基尼系数为,表示该系统没有混乱,或者说该系统的“纯度”很高。而如果样本里一半是离职员工,另一半是未离职员工,那么类别个数为2,每个类别出现的频率都为50%,所以其基尼系数为,也即其混乱程度很高。

当引入某个用于进行分类的变量(比如“满意度5”),则分割后的基尼系数公式为:

其中、为划分成两类的样本量,gini(T1)和gini(T2)为划分后的两类各自的基尼系数。

例如,一个初始样本中有1000个员工,其中已知有400人离职,600人不离职。其划分前该系统的基尼系数为,那么下面采用两种不同的划分方式来决定初始节点:1、根据“满意度5”进行分类;2、

根据“收入10,000”进行分类。

划分方式1:以“满意度5”为初始节点进行划分,划分后的基尼系数为0.3,如下图

划分方式2:以“收入10,000”为初始节点进行划分,划分后的基尼系数为0.45,如下图

初始基尼系数:gini(T)=1-(0.4^2+0.6^2)=0.48

T₁的基尼系数:gini(T₁)=1-(0.25^2+0.75^2)=0.375

T₂的基尼系数:gini(T₂)=1-(0.5^2+0.5^2)=0.5

初始基尼系数:gini(T)=1-(0.4^2+0.6^2)=0.48

T₁的基尼系数:gini(T₁)=1-(1^2+0^2)=0

T₂的基尼系数:gini(T₂)=1-(0.25^2+0.75^2)=0.375

收入10,000是否

100个离职

300个不离职

400个离职600个不离职

300个离职

300个不离职

400个离职

600个不离职

200个离职600个不离职

划分方式2:根据“收入10,000”进行初始节点划分

划分方式1:根据“满意度5”进行初始节点划分

满意度5

是否

200个离职0个不离职

可以看到未划分时的基尼系数为0.48,以“满意度5”为初始节点进行划分后的基尼系数为0.3,而以“收入10,000”为初始节点进行划分后的基尼系数为0.45。基尼系数越低表示系统的混乱程度越低,区分度越高,能够比较好地作为一个分类预测模型,因此这里选择“满意度5”作为初始节点。这里演示了如何选择初始节点,初始节点下面的节点也是用类似的方法来进行选择。

同理,对于“收入”这一变量来说,是选择“收入10,000”还是选择“收入100,000”进行划分,也是通过计算在这两种情况下划分后的基尼系数来进行判断。若还有其他的变量,如“工龄”、“月

文档评论(0)

chenzehao888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档