阿里巴巴菜鸟级数据产品经理半年回顾总结篇
干货教程:如何绘制业务流程图(二)
干货教程:如何绘制业务流程图(一)
技术贴:如何在数据库中秘密地查询隐私数据
攻略教程:信息图(infographic)是怎么做出来的?
分析师一定要看!用数据讲故事的五个步骤
技术篇:怎样玩转千万级别的数据?
北漂书生:大数据时代SEO数据如何搜集和分析
干货,从十大问题重新认识并读懂互联网
相似图片搜索、算法、识别的原理解析(下)
相似图片搜索、算法、识别的原理解析(上)
制作信息图时请遵循这10条原则
提高表格可读性的一些技巧,适用于Excel、PPT等数据报表
实用教程:如何让Excel图表更具“商务气质”?
一张数据信息图是这样制作完成的
菜鸟读财报,如何从上市公司财报中挖情报?
北大数据分析老鸟写给学弟们一封信
如何一步一步制作出高品质数据信息图?
总结:海量数据分析处理的十个方法
【实战经验】数据分析师如何了解老板真正想法?
零售业数据分析那些事儿
数据分析时l常用电子表格公式【大全】
用数据来告诉你 上市公司财报的秘密
这12个数据能 帮你搞定淘宝店铺
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(四)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(三)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(二)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(一)
淘宝网店从激活到挽留,4步走玩转数据营销
文案怎样写才有意思、不空洞、打动人?
入门级扫盲贴:数据分析的步骤有哪些?
关系即数据,论社交媒体的关系转换
数据的力量,苹果教你用数据鄙视竞争对手
谁说文科生不能做数据分析?数据分析入行→技能提升→优势
产品运营数据分析——SPSS数据分组案例
如何追踪iPhone和iPad等移动设备的用户行为数据?
阿里巴巴中国站:用户满意度指标权重计算方法
广告中的AdNetwork、AdExchange、DSP、SSP、RTB和DMP是什么?
信息图制作教程:关于数值的表现
为什么大数据会如此轰动?(值得深度的文章)
多图技术贴:深入浅出解析大数据平台架构
面板数据分析中标准误的估计修正——根据Peterson (2009)的归纳
财务官、投资人、CIO看过来:给企业数据定价
推荐系统中常用算法 以及优点缺点对比
探索Weotta搜索引擎背后的大数据技术
如何识别虚假数据?
为什么我们像驯化小狗那样驯化算法
程序员必须知道的10大基础实用算法及其讲解
电子商务:最影响转化率的九大要素
如何迅速成为一名数据分析师?
想从事大数据、海量数据处理相关的工作,如何自学打基础?
如何用亚马逊弹性MapReduce分析大数据?
译文:机器学习算法基础知识
给hadoop新手的一封信:Hadoop入门自学及对就业的帮助
从入门到精通,我是这样学习算法的
小商家,从老客户身上获取的数据才更有意义
13页PPT讲述:大数据下网站数据分析应用
40页PPT详解:京东大数据基础构架与创新应用
67页PPT解密搜索引擎背后的大技术:知识图谱,大数据语义链接的基石
营销洞察力——10个营销度量指标
技术篇:前端数据之美如何展示?
董飞:美国大数据工程师面试攻略【PPT】
easel:如何制作好的信息图——来自专家的顶级技巧
大数据实操:以3D打印机为例,如何知道卖点有没有市场需求?
大数据建模 需要了解的九大形式
用户画像数据建模方法
从规划开始,公司or企业如何入手和实施大数据?
干货:商品信息数据分析和展现系统的设计与开发
高手教你用Excel制作百度迁徙数据地图
50篇干货:淘宝店/电子商务如何玩转数据分析?
精华索引:大数据实际应用案例50篇
验证最小化可行产品 (MVP) 的 15 种方法
干货:数据分析师的完整知识结构
大数据技术Hadoop面试题,看看你能答对多少?答案在后面
用SPSS做数据分析?先弄懂SPSS的基础知识吧
怎样做出优秀的扁平化设计风格PPT? 扁平化PPT设计手册#3
解答│做大数据过程中遇到的13个问题
40页PPT│社交网络发展的新动力:大数据与众包
以Amazon、豆瓣网为例,探索推荐引擎内部的秘密#1
怎样做出优秀的扁平化设计风格PPT?#2
怎样做出优秀的扁平化设计风格PPT?#1
36页PPT│大数据分析关键技术在腾讯的应用服务创新
如何丰满地做SWOT分析?
【35页PPT】TalkingData研发副总阎志涛:移动互联网大数据处理系统架构
27页PPT|以珍爱网为例,如何构建有业务价值的数据分析系统?
国外数据新闻资源分享
21页PPT重磅发布:Mariana——腾讯深度学习平台的进展与应用
从0到100——知乎架构变迁史
PPT解读:百度大数据质量保障方案探索
45页PPT|大数据环境下实现一个O2O通用推荐引擎的实践
从数据看豆瓣兴衰
深度学习系列:解密最接近人脑的智能学习机器——深度学习及并行化实现(四)
重磅推荐:129页PPT讲述移动时代创业黄金法则 via:腾讯企鹅智酷
重磅推荐:大数据工程师飞林沙的年终总结&算法数据的思考
OpenKN——网络大数据时代的知识计算引擎
大数据下城市计算的典型应用
技术贴:大数据告诉你,如何给微信公众号文章取标题?
你的QQ暴露了你的心——QQ大数据及其应用介绍PPT
如何从企业报表看企业的生存能力?
实用的大数据技巧合集
技术帝揭秘:充电宝是如何盗取你的个人隐私的?
重磅!50页PPT揭秘腾讯大数据平台与推荐应用架构
原创教程:饼图之复合饼图与双层饼图(1)
PPT:大数据时代的设计特点——不了解这个你做不了今天的设计
教程贴:如何用方程式写春联?
原创教程:如何用Excel制作简易动态对比图
深度译文:机器学习那些事
教程帖:数学之美——手把手教你用Excel画心(动态图)
董老师走进斯坦福,聊聊硅谷创业公司和大数据的事儿(附课件PPT下载)
【限时】年度钜献,108个大数据文档PDF开放下载
董飞专栏:大数据入门——大数据相关技术、Hadoop生态、LinkedIn内部实战
亿级用户下的新浪微博平台架构
一张图了解磁盘里的数据结构
浅析数据化设计思维在阿里系产品的应用
美团推荐算法实践
一个P2P创业公司有哪些部门,都是做什么的?
一个P2P平台的详细运营框架是怎样的?
机器学习中的算法——决策树模型组合之随机森林与GBDT
神经网络简史
58页PPT看懂互联网趋势,大数据/物联网/云计算/4G都有了
广点通背后的大数据技术秘密——大规模主题模型建模及其在腾讯业务中的应用(附PPT)
微信红包之CBA实践PPT——移动互联网海量访问系统设计
一文读懂机器学习,大数据/自然语言处理/算法全有了……
搜狐新闻客户端的背后大数据技术原理——推荐系统(PPT)
原创教程:用Excel做动态双层饼图
半小时读懂PMP私有广告交易市场
怎样分析样本调研数据(译)
PPT:支付宝背后的大数据技术——DataLab、Higo的实践及应用
大数据技术人员的工具包——开源大数据处理工具list(限时下载)
计算机视觉:随机森林算法在人体识别中的应用
24页PPT:机器学习——支持向量机SVM简介(附下载)
互联网高手教你如何搜集你想要的信息
深度:对地观测大数据处理、挑战与思考
原创教程:用Excel做饼图之复合饼图与双层饼图(2)
移动大数据时代: 无线网络的挑战与机遇(附pdf下载)
Excel使用技巧——25招必学秘技
【年度热门】加上这些 Excel 技能点,秒杀众人(多图)
原创教程:用Excel做纵向折线图
知识图谱——机器大脑中的知识库
何明科专栏:用数据化的方式解析投资条款
DT时代,如何用大数据分析创造商业价值(23页PPT)
MIT牛人梳理脉络详解宏伟现代数据体系
你的老婆是怎么算出来的?揭秘佳缘用户推荐系统
飞林沙:商品推荐算法&推荐解释
PPT:如何成为真正的数据架构师?(附下载)
开源大数据查询分析引擎现状
董飞专栏:打造数据产品必知秘籍
译文:如何做强大又漂亮的信息图
如何使用Amazon Machine Learning构建机器学习预测模型
如何运用数据协助货架管理(内附26张PPT)
SVM算法
主流大数据系统在后台的层次角色及数据流向
PPT:阿里全息大数据构建与应用
人脸识别技术大总结——Face Detection & Alignment
教程:用Excel制作成对条形图
易观智库:大数据下的用户分析及用户画像(18页PPT附下载)
技术向:如何设计企业级大数据分析平台?
电商数据分析基础指标体系
IBM SPSS Modeler 决策树之银行行销预测应用分析
拓扑数据分析与机器学习的相互促进
基于 R 语言和 SPSS 的决策树算法介绍及应用
用php做爬虫 百万级别知乎用户数据爬取与分析
另类新浪微博基本数据采集方法
以10万+阅读的文章为例 教你做微信公众号的运营数据分析
破解数据三大难题:变现?交易?隐私?
微店的大数据平台建设实践与探讨
阿里巴巴PPT:大数据基础建议及产品应用之道
基于社会媒体的预测技术
人工智能简史
技巧:演讲中怎样用数据说话
马云和小贝选谁做老公?写给非数据人的数据世界入门指南
掘金大数据产业链:上游资源+中游技术+下游应用
原创教程:手把手教你用Excel做多层折线图
销售分析:如何从数据指标发现背后的故事
如何一步步从数据产品菜鸟走到骨干数据产品
也来谈谈微博的用户画像
行走在网格之间:微博用户关系模型
如何拍出和明星一样美爆的自拍照?斯坦福大学用卷积神经网络建模告诉你
运营商如何玩转大数据? 浙江移动云计算和大数据实践(PPT附下载)
大数据分析的集中化之路 建设银行大数据应用实践PPT
腾讯防刷负责人:基于用户画像大数据的电商防刷架构
创业提案的逻辑
友盟分享 | 移动大数据平台架构思想以及实践经验
寻路推荐 豆瓣推荐系统实践之路
“小数据”的统计学
重磅!8大策略让你对抗机器学习数据集里的不均衡数据
小团队撬动大数据——当当推荐团队的机器学习实践
微博推荐架构的演进
科普文 手把手教你微信公众号数据分析
信息图制作的六个注意点
【权利的游戏】剧透新玩法:情理之中?意料之外
推荐系统(Recommender System)的技术基础
核心算法 谷歌如何从网络的大海里捞到针
Quora数据科学家和机器学习工程师是如何合作的
阿里巴巴PPT:大数据下的数据安全
数据建模那点事儿
全民拥抱Docker云–Lhotse系统经验分享
实时股票分析系统的架构与算法
架构师必看 京东咚咚架构演进
什么叫对数据敏感?怎样做数据分析?
推荐系统基础知识储备
刘德寰:数据科学的整合与细分 数据科学的七个危险趋势(视频)
实际工作中,如何做简单的数据分析?
分布式前置机器学习在威胁情报中的应用(附PPT下载)
数据科学 怎样进行大数据的入门级学习?
扛住100亿次请求 如何做一个“有把握”的春晚红包系统?(PPT下载)
从 LinkedIn 的数据处理机制学习数据架构
大数据会如何改变管理咨询公司(I)
优秀大数据GitHub项目一览
生硬的数字和数据新闻:这么近,那么远
经典大数据架构案例:酷狗音乐的大数据平台重构(长文)
揭秘中兴大数据在银行领域的系统部署
基于大数据的用户画像构建(理论篇)
【R】支持向量机模型实现
数据图处处有陷阱?五个例子教你辨真伪
如何用R绘制地图
你确定你真的懂用户画像?
数据模型需要多少训练数据?
【接地气】01 数据报表的颜色怎么配
游戏价值和数据分析新思路
【R】异常值检测
快的打车架构实践
豆瓣还是朋友圈:大数据、新方法和日常问
PPT数据图表,怎么做才好看?
大道至简的数据体系构建方法论
数据的误区及自身业务
新浪微博的用户画像是怎样构建的?
面试干货!21个必知数据科学面试题和答案part1(1-11)
易观智库:中国大数据产业生态图谱2016(附下载)
Airbnb的数据基础架构
50PB海量数据排序,谷歌是这么做的
大数据时代工程师如何应对–今日头条走进硅谷技术讲座
D3.js教学记(下)
D3.js教学记(上)
飞林沙:企业级服务公司如何赚钱?只有平台级产品才有大数据的理论
一个母婴电子商务网站的大数据平台及机器学习实践
7大板块 组成数据分析师的完整知识结构
干货:SaaS领域如何分析收入增长?
学术 | 词嵌入的类比特性有实用意义吗?
6个用好大数据的秘诀
一个数据库外行眼中的微信优化 (附专家补充)
大数据调研,如何实现快全准?
数据大师Olivier Grisel给志向高远的数据科学家的指引
数据堂肖永红:数据交易的是使用权或数据的增值,而不是数据本身(PPT附下载)
淘宝商品详情平台化思考与实践
刘译璟:百分点大数据理念和实践(图文+PPT下载)
如何快速搞定一份看起来还不错的演示文档?
【BABY夜谈大数据】决策树
数据驱动设计:数据处理流程、分析方法和实战案例
美图数据总监:Facebook的法宝,我们在产品中怎么用?
树的内核:量化树结构化数据之间的相似性
拿到用户数据之后,LinkedIn怎么赚钱?
GrowingIO张溪梦:增长黑客的核心 企业应该重视产品留存率(附PPT下载)
[译]Airbnb是如何使用数据理解用户旅行体验的?
微博推荐数据服务代理: hyper_proxy的设计和实现
星图数据谷熠:消费领域DaaS 大数据重构未来商业游戏规则(附PPT下载)
鲍忠铁:TalkingData大数据技术与应用实践(PPT下载)
【干货教材】数据分析VS业务分析需求
九枝兰专访:数字营销的核心—企业如何使用数据管理平台(DMP)进行精准营销
我们的应用系统是如何支撑千万级别用户的
R应用空间数据科学
Excel进行高级数据分析(上)
Excel进行高级数据分析(下)
国内各大互联网公司2.0版技术站点收集
网站数据分析思路导图
大数据分析报表设计开发要素
大数据需要的12个工具 推荐
YARN/MRv2 Resource Manager深入剖析—NM管理
YARN/MRv2 Resource Manager深入剖析—RMApp状态机分析
Hadoop 1.0与Hadoop 2.0资源管理方案对比
Hadoop 2.0中单点故障解决方案总结
Hadoop 2.0 (YARN)中的安全机制概述
Hadoop 新特性、改进、优化和Bug分析系列1:YARN-378
Hadoop 新特性、改进、优化和Bug分析系列2:YARN-45
Hadoop 新特性、改进、优化和Bug分析系列3:YARN-392
Hadoop版本选择探讨
探究提高Hadoop稳定性与性能的方法
《Effective C++》读书笔记(第一部分)
Hadoop分布式环境下的数据抽样
Hadoop计算能力调度器算法解析
如何编写Hadoop调度器
数据结构之红黑树
Hadoop pipes设计原理
《C++ Primer plus》学习笔记之”类”
《C++ Primer plus》学习笔记之”类继承”
《C++ Primer plus》学习笔记之”C++中的代码重用”
《C++ Primer plus》学习笔记之”异常”
《C++ Primer plus》学习笔记之”RTTI”
Hadoop pipes编程
Hadoop Streaming高级编程
《C++ Primer plus》学习笔记之”标准模板库”
《C++ Primer plus》学习笔记之”输入输出库”
Linux Shell 命令总结
算法之图搜索算法(一)
awk使用总结
素数判定算法
《C++ Primer plus》学习笔记之“函数探幽”
使用Thrift RPC编写程序
如何在Hadoop上编写MapReduce程序
怎样从10亿查询词找出出现频率最高的10个

IBM SPSS Modeler 决策树之银行行销预测应用分析

于2017-04-01由小牛君创建

分享到:


大数据

本文将通过 SPSS Modeler 介绍决策树 (Decision tree) 演算法于银行行销领域的应用实例。通过使用网路公开电销资料建立不同决策树模型,分析、解释并讨论模型结构,您将会了解各种决策树演算法及其不同之处,针对不同资料特征选择合适的决策树模型。

引言

随着资讯科技的演进,如何通过方法有效的分析海量数据,并从其中找到有利的规格或资讯已经成为一种趋势。而决策树演算法是目前在进行数据分析时很常用的分类方法,本文将使用 IBM SPSS Modeler 进行实作,介绍决策树 (Decision tree) 演算法于银行行销领域的应用实例。IBM SPSS Modeler 包含多种决策树模型,包括 C5.0、C&R Tree、Quest、CHAID。首先,本文将会简介决策树演算法的基本原理,接着会针对案例数据 (网路公开电销数据) 进行初步的数据分析,并套入决策树模型中,分析、解释并讨论最后的结果。通过本文,您将会了解各种决策树演算法及其不同之处,针对不同数据特征选择适当决策树模型。

决策树演算法 (Decision Tree) 简介

决策树演算法的原理

决策树演算法是在进行数据挖掘时经常使用的分类和预测方法。

一个决策树的架构,是由三个部分所组成:叶节点 (Leaf Node)、决策节点 (Decision nodes) 以及分支 。决策树演算法的基本原理为:通过演算法中所规定的分类条件对于整体数据进行分类,产生一个决策节点,并持续依照演算法规则分类,直到数据无法再分类为止。

决策树演算法的比较

决策树演算法依据其演算原理以及可适用分析数据类型的不同延伸出多种决策树演算法。在 IBM SPSS Modeler 中,主要提供了四种常用的决策树演算法供使用者选择,分别为:C5.0、CHAID、QUEST 以及 C&R Tree 四种。使用者可依据数据类型以及分析需求的不同,选择适当的决策树演算法进行分析。虽然不同的决策树演算法有各自适用的数据类型以及演算架构等差异,但概括来说,决策树的主要原理均为通过演算法所定义的规则,对数据进行分类,以建立决策树。鉴于篇幅所限,以下部分将会针对这四类决策树演算法进行简单的介绍和比较,而详细演算法原理将不会在本文中详述。

1. C5.0

由 C4.5 演化而来。此演算法的分类原理主要是利用资讯衡量标准 (Information Measure) 来构建决策树,并对每一个节点产生不同数目的分支来分割数据,直到数据无法分割为止。C5.0 的目标字段 (Target) 测量级别,不适用于连续类型 (Continuous) 的测量级别。而输入字段的数据型态则适用连续类型 (Continuous) 的测量级别。

2. CHAID (Chi-Square Automatic Interaction Detector)

此演算法和前述的 C5.0 概念很像,均可以在每一个节点产生不同数目的分支来分割数据,用来建立决策树。但是在背后分类的原理则利用卡方分析检定 (Chi-square F test) 来进行分支,通过卡方检定来计算节点中的 P-value,来决定数据是否仍须进行分支。另外,CHAID 的目标字段 (Target) 的测量级别可适用于连续类型 (Continuous) 的测量级别,但在输入字段则只适用分类类型 (Categorical) 的测量级别。

3. QUEST (Quick Unbiased Efficient Statistical Tree)

此演算法是利用统计方法分割数据,即以判定决策树是否仍需进行分支,以建立二元的决策树。QUEST 在变数的数据型态限制上,跟 C5.0 一样,目标字段 (Target) 测量级别,不适用于连续类型 (Continuous) 的测量级别。但在输入字段的测量级别则适用连续类型 (Continuous) 的测量级别。

4. C&R Tree (Classification and Regression Tree)

又称为 CART,构建决策树的原理是使用 Gini Ratio 作为判定决策树是否仍须进行分支的依据,并建立二元的决策树。此演算法不管是在目标变数 (Target) 以及输入字段的测量级别均适用连续类型 (Continuous) 的测量级别做分析。

决策树演算法的选择

在使用决策树演算法进行分析之前,首要工作就是选择适当的演算法。一般来说,会根据所要分析数据的特性以及数据型态等选择初步的演算法。接下来再通过比较初步筛选的决策树分析出来的结果,选择最适合的决策树演算法。

银行电话行销数据栏位和特征分析

这次分析使用的数据是识别化的葡萄牙银行电销数据。电销的产品是银行的定存。电销的数据包括:

1、客户的基本数据:年龄、工作、教育等

2、客户的业务相关数据:是否破产、余额、房贷、个人信贷等

3、电销数据:连络方式、连络日期、次数、谈话时间,以及关键的电销结果

一般来说,业务相关数据及电销数据对我们预测相当重要,而客户的基本数据有时候并不重要,例如性别。但在此,年龄、工作、教育对一个人的收入等级连带的定存意愿可能有关联,所以进一步的分析是必要的。(请看图 1)

大数据

图 1. 银行电销数据概观

在模型建置前,首先要了解数据的组成。通过 Data Audit Node 中简单的图表及统计数据 (如图 2 所示),我们可以察觉数据的异常、极端值。以年龄栏位为例,我们可以通过最大、最小及平均值,来观察有无异常分布。年龄 18~95 岁及平均 40 岁属于正常分布,所以不需要做特殊处理。其它栏位可以通过同样方式检视,以增加对客户数据的了解。

大数据

图 2. 银行电销数据概观 2 – Data Audit Node

接下来我们选择几个代表性的栏位来分析电销结果在数据栏位间的分布。以客户职业为例,由图 3 可发现,学生、退休人员,及公司主管对定存产品的接受度较高。同时,我们也意外发现,失业者的定存接受度也相当高。而这些发现仍需再进一步的研究,才可解释其原因。但在此,将不多作探讨。

大数据

图 3. 银行客户职业与定存产品接受度之图表

以年龄的分布来说,超过 60 岁的客户普遍对定存产品的接受度较高 (图 4),因此,可以做为打电话的参考依据。然而,以单一面相来决定结果并非最理想,我们仍需要找寻跟其它栏位的关联性。

大数据

图 4. 银行客户年龄与定存产品接受度之图表

其它栏位的分析

此小节我们将简单的对其它栏位作分析。在业务数据上,许多栏位是连续类型的测量级别(Continuous),通过直方图,我们可以发现,打电话的时间、月份、客户接电话的次数都会影响结果。这些栏位都是建立预测模型的重要参考依据。Modeler 也提供了网状图让我们了解栏位间的关联。例如由打电话的月份这个栏位,我们可以通过网状图评估月份对成功率的影响。

大数据

图 5. 银行最后一次致电客户的时间 (秒) 对定存产品接受度之图表

大数据

图 6. 与银行客户通话次数对定存产品接受度之图表

建立决策树模型串流

读取数据

SPSS Modeler 中需要根据数据档案格式,来选择不同的源节点读取数据。本篇文章中我们使用的数据档案格式为 .csv 档,因此我们将使用可变文件节点。在节点设定方面,文件标签下我们先读入数据“bank-full.csv”,接着勾选“读取文件中的字段名”和使用分号 (;) 做为字段定界符。此外,在多次反覆训练模型后,根据变量重要性的排序,我们在最后的模型选择移除相对较不重要的栏位,将会据此筛选出建模所需要的数据栏位:过滤标签下选取是否破产 (default) 、有无贷款 (loan) 等较无法预测结果的栏位。

大数据

图 7. 使用可变文件节点读取数据

数据类型定义

为了产生决策树模型,我们需要在数据建模前就定义好各栏位的角色,也就是加入字段选项下的「类型」节点。将类型节点拉入串流后,我们会先点选读取值按钮,接着设定角色。在本案例中,栏位 y 是我们最后预测的目标,因此先将其角色设定为“目标”,余下的栏位则是要设定为“输入”。

数据分区

为了在训练出模型后能够分析模型准确度,在此我们将加入字段选项下的「分区」节点,将数据分为 50%训练数据以及 50%测试数据。在分区节点的编辑页中,点选预览可发现每笔数据已经多出了一个栏位「分区」,栏位中的值被随机归类为「1_训练」及「2_测试」,让决策树节点可判别是否要使用此资料做为训练数据。在完成资料分区后,我们已经完成数据准备 (请见图 8),可以套用决策树模型节点了。

大数据

图 8. 数据准备

决策树节点设定

如我们第一章节所述,SPSS Modeler 共提供四种决策树节点建模,包括 C5.0、C&R 树、Quest 和 CHAID。考量到数据特性以及我们希望提供的决策树具有多元分类法,因此我们将建立 C5.0 和 CHAID 两种分类模型。

C5.0 节点设定

将 C5.0 节点与分区节点连结后,我们将于此节点编辑页面中的模型标签下设定相关的变数。以下为各变数的详细介绍,此定义来自SPSS Modeler 15 Modeling Nodes 文件。

使用分区数据:如果定义了分区字段,则此选项可确保仅训练分区的数据用于构建模型。

为每个分割构建模型:给指定为分割字段的输入字段的每个可能值构建一个单独模型。

输出类型:在此指定希望结果模型块是决策树还是规则集。

组符号:如果选中此选项,C5.0 将试图组合输出字段中具有相似样式的符号值。如果未选中此选项,C5.0 将为用于分割父节点的符号字段的每个值创建一个子节点。

使用 boosting:C5.0 算法有一个特殊的方法用于提高其准确率,称为 boosting。它的工作原理是在序列中构建多个模型。第一个模型按常规方式进行构建。构建第二个模型时,将焦点集中于由第一个模型误分类的记录。构建第三个模型时,将焦点集中于第二个模型的错误,依此类推。最后,通过将整个模型集应用到观测值,并使用加权投票过程将单独的预测组合为一个总预测来分类观测值。推进可以显着提高 C5.0 模型的准确性,但也需要更长的训练时间。通过试验次数选项可以控制在推进模型过程中使用的模型数目。

交互验证:如果选中此选项,C5.0 将使用一组模型(根据训练数据的子集构建)来估计某个模型(根据全部数据集构建)的准确性。

专家模式- 修剪严重性: 确定对决策树或规则集的修剪程度。增加该值可获得一个更简洁的小型树。减小该值可获得一个更精确的树。

专家模式- 每个子分支的最小记录数:可使用子组的大小限制树的任何分支中的分割数。仅当两个或多个生成的子分支中至少包含从训练集合得到的这一最小记录数时,才可分割树的分支。默认值为 2。

根据我们的分析需求,此节点的设定如下:勾选使用分区数据、选择决策树输出类型、专家模式下的修剪严重性设定为 80、每个子分支的最小记录数 15。此设定考量到我们资料量较大,避免过度配适的情形发生。

CHAID 节点设定

将 CHAID 节点与分区节点连结后,我们将于此节点编辑页面中的模型标签下设定相关的变数。由于 CHAID 节点设定较多,以下将挑选我们有修改预设值的变数进行详细介绍。此定义来自“SPSS Modeler 15 Modeling Nodes 文件”。

最大树深度:指定根节点以下的最大级数(递归分割样本的次数)。

修剪树以防止过拟合:修剪包括删除对于树的精确性没有显着贡献的底层分割。修剪有助于简化树,使树更容易被理解,在某些情况下还可提高广义性。

停止规则:设置最小分支大小可阻止通过分割创建非常小的子组。如果节点(父)中要分割的记录数小于指定值,则父分支中的最小记录数 将阻止进行分割。如果由分割创建的任意分支(子)中的记录数小于指定值,则 子分支中的最小记录数 将阻止进行分割。

根据我们的分析需求,此节点的设定如下:最大树深度选择自定义 8、勾选修剪树以防止过度拟合选项、停止规则选择使用绝对值、父分枝的中的最小记录数 50、父分枝的中的最小记录数 15。

生成决策树模型

决策树节点设定完成后,点击主工具列的运行当前流前即可看到两个决策树模型的产生。双击决策树模型则可看到模型结果,而我们最主要要观察的是模型标签及查看器标签下的内容。模型标签内容如图 9 所示,左栏位使用文字树状展开,表现每一阶层的分类状况及目标变数的模式;右栏位则是整体模型预测变量的重要性比较。我们也将会根据变量重要性调整模型设定、变数选择,持续的训练出较佳的模型。查看器标签则是将一样的决策树结果用树状图的方式展现。

大数据

图 9. 决策树模型结果

分析结果

在前面的串流产生中,我们加入了分区节点将数据分成训练数据与测试数据,因此在决策树模型产生后,可加入分析节点,完成的决策树串流如图 10 所示。分析节点中我们勾选重合矩阵选项,因此除了分析节点原本就提供的正确错误率比较,可进一步了解实际值与预测值的比较矩阵,如图 11。分析结果将于下一小节详述。

大数据

图 10. 决策树串流

大数据

图 11. C5.0 决策树分析结果

评估结果

比较决策树模型分析结果

正确率

由于各决策树的演算法不同,最后的分枝结果以及预测的准确性亦不同,本文使用 C5.0 及 CHAID 两种决策树节点,其预测正确率如图 11 和图 12 所示。从结果来看,不论是训练以及测试数据,C5.0 的正确率都高于 CHAID,因此接下来我们会使用 C5.0 结果为主。进一步观察实际值与预测值的重合矩阵,可发现模型预测不购买定存商品的准确性远高于预测将会购买的准确性,以 C5.0 测试数据来看,no 的预测准确性为 95.9%,远大于 yes 的 49.1%。

大数据

图 12. CHAID 决策树分析结果

变量重要性

C5.0 与 CHAID 模型的变量重要性如图 13 所示。比较左边与右边的图可发现,尽管变量重要性的排序两个模型相差很大,但是最重要的两个分析变量「duration」和「poutcome」相同,且都比其他变量相对重要许多。

大数据

图 13. 变量重要性

解读预测结果

预测规则

C5.0 决策树模型产生许多预测规则,而大部分的预测结果如同实际数据一样,都是不会购买定存产品。为了提高电销的成功率,银行人员可由这些规则来筛选目标。SPSS Modeler 提供的决策树结果,包括了分类结果、实例数字和置信度,当分类的实例置信度较高,则可导出预测规则。以图 14 为例,橘色底色的规则为「当 duration<=391,poutcome in [“failure”“other”],其预测结果是 no」,实例数字为 2808 笔数据符合,其中 91%被正确预测。

大数据

图 14. 模型结果

以下条列预测结果 (图 15,图 16) 为 yes 的规则及其实例数字和置信度(以 50%最低置性,及 100 最小实例数):

大数据

图 15. 生成规则集

大数据

图 16. 规则集

利用图形节点了解重要预测值

duration 和 poutcome 是刚刚得出的重要预测值。由直方图 (图 17) 来看,duration(与客户对谈时间)越长,成功率能大幅提升。超过 1000 秒的对谈时间,成功率能超过五成。以分布图 (图 18) 来观察 poutcome(上次行销结果),上次跟客户的成功交易,会大幅影响这次的结果。

大数据

图 17. duration 与客户接受银行商品意愿的关系图

大数据

图 18. poutcome 与客户接受银行商品意愿的关系图

结束语

由本次分析的结果看来,电销中有适当的与客户的谈话时间 (>1000 秒),及上次电销的成功率将会影响到本次电销的结果。由 Repeat customer 来着手,成功率会最明显提升。电销的谈话时间需要进一步的检视与客户对谈的实际内容,以设计吸引客户的话题。从 campaign(打电话) 次数来看,打给客户推销的次数越多,销售的效果越差。

公司在进行电销行动前也可以事先筛选客户,例如大于 60 岁或从事某一些职业 (学生、退休、主管等) 的客户设定为优先考虑。再来筛选财务状况。将基本的条件筛选完毕后,电销结果就会跟谈话的质量有关系。

文:
林俞均, 软件工程师, IBM
賴秉宏, 软件工程师,
IBM 袁璞, 软件工程师, IBM

End.