摘要:决策树是数据挖掘的一种重要方法,本文叙述了决策树的构建过程及ID3算法,并将这一理论用于房地产营销中,给出了如何评价顾客的忠诚度,最大限度地挖掘、提升客户利润。
关键词:决策树(Decision Tree) 熵 数据挖掘
中图分类号:TP1 文献标识码:A 文章编号:(2006)
基于决策树数据挖掘技术在地产营销中的应用
李 莉
1.前言
顾客忠诚度是提高服务利润链业绩最重要的动力之一。而忠诚不是天生的,忠诚必须要去赢得。因此,系统性的、计划性的让顾客忠诚已成为对企业具有战略意义的营销规划之一。利用数据挖掘中的决策树技术,识别顾客的忠诚度,针对不同的顾客采取不同的策略,有利于保持和培养顾客的忠诚度,最大限度地提升客户利润,是企业成功的重要因素之一。
2.数据挖掘(Data Mining)概述
数据挖掘,又称数据库中的知识发现,是指从大量的不完全的,有噪声的,模糊的数据中提取隐含的、未知的、非平凡的及有潜在应用价值的信息或模式。它融合了数据库、人工智能、机器学习、统计学等多个领域的理论和技术。数据挖掘工具能够对将来的趋势和行为进行预测,从而很好地支持人们的决策。
数据挖掘的一个重要功能是分类。分类是指将数据映射到预先定义好的群组或类。因为在分析测试数据之前,类别就已经被确定了,所以分类通常被称作有指导学习。常用的分类方法有基于统计的方法、基于距离的方法、基于决策树的方法、基于神经网络的方法、基于规则的方法等。用决策树进行分类,生成规则易于理解并且高效,由于树的规模独立于数据库规模,所以决策树对于大规模数据库具有很好的扩展性。决策树算法存在的缺点是:不易于处理连续数据;对缺失数据的处理也很困难;决策树过程忽略了数据库中属性之间的相关性。1986年Quinlan提出了著名的ID3算法。在ID3算法的基础上,1993年Quinlan又提出了C4.5算法。为了适应处理大规模数据集的需要,后来又提出了若干改进的算法,其中SLIQ(super-vised learning in quest)和SPRINT(scalable parallelizable induction of decision trees)是比较有代表性的两个算法。其中ID3算法是发展的比较完善也是比较简单易懂的一种决策树算法,因此本论文以ID3算法为基础对决策树进行讨论。
3.决策树的构建过程及ID3算法
决策树是以实例为基础的归纳学习算法。它从一组无次序、无规则的元组中推理出决策树表示形式的分类规则,采用自顶向下的递归方式,在决策树的内部结点进行属性值的比较,并根据不同的属性值从该结点向下分支,叶结点是要学习划分的类。从根到叶结点的一条路径就对应着一条合取规则,整个决策数就对应着一组析取表达式规则。
用决策树进行分类分两步走:第一步是利用训练集生成一棵决策树,建立决策树模型。这个过程实际上是一个从数据中获取知识,进行机器学习的过程;第二步是利用生成的决策树对输入数据进行分类。对输入的纪录,从根节点依次测试记录的属性值,直到到达某个叶子节点,从而找到该记录所在的类。ID3算法的核心是:在决策树各级结点上用信息增益(information gain)作为属性的选择标准,以使得在每一个非叶结点进行测试时,能获得关于被测试纪录最大的类别信息,它可以用来对新的样本进行分类。
1948年,香农(C. E. Shannon)提出了信息论。其中对信息量(Information)和熵(Entropy)的定义如下:
熵是数据集中的不确定性、突发性或随机性的程度的度量,实际上是系统信息量的加权平均,也就是系统的平均信息量。Information Gain指标的原理就取自信息论。熵是一个衡量系统混乱程度的统计量。熵越大,表示系统越混乱。分类的目的是提取系统信息,使系统向更加有序、有规则组织的方向发展。所以自然而然的,最佳的分裂方案是使熵减少量最大的分裂方案。熵减少量就是Information Gain,所以,最佳分裂就是使Gain(A)最大的分裂方案。通常,这个最佳方案是用“贪心算法+深度优先搜索”得到的。
设指向N的训练集为S,其中包含m个不同的类,他们区分了不同的类
其中
设属性A是具有v个不同值的属性
熵值越小,子集划分的纯度越高。对于给定的子集
其中
在属性A上获得的信息增益(Information Gain)为:
ID3算法的优点是:算法的理论清晰,方法简单,学习能力较强。其缺点是:只对比较小的数据集有效,且对噪声比较敏感,当训练数据集加大时,决策树可能会随之改变。
4.实例
笔者在对某房地产的客户情况调查时,有下面一训练集,用于决策顾客的忠诚度。而影响顾客忠诚度的属性包括:居住区域、年龄、月收入、性别、学历等因素。
表4.1 顾客情况调查表
|
编号 |
居住区域 |
年龄 |
收入 |
性别 |
职业 |
忠诚度 |
|
1 |
市区 |
<21 |
<1000 |
女 |
学生 |
低 |
|
2 |
市区 |
<21 |
<1000 |
男 |
学生 |
低 |
|
3 |
市郊 |
<21 |
<1000 |
女 |
学生 |
高 |
|
4 |
乡镇 |
21-30 |
1000-2000 |
女 |
教师 |
高 |
|
5 |
乡镇 |
>30 |
1000-2000 |
女 |
会计 |
高 |
|
6 |
乡镇 |
>30 |
<1000 |
男 |
农民 |
低 |
|
7 |
市郊 |
>30 |
>2000 |
男 |
工程师 |
高 |
|
8 |
市区 |
21-30 |
1000-2000 |
女 |
教师 |
低 |
|
9 |
市区 |
>30 |
>2000 |
女 |
工程师 |
高 |
|
10 |
乡镇 |
21-30 |
>2000 |
女 |
工程师 |
高 |
由上述算法,在开始构建决策树时,决策树包含了一个空的根节点,设定根节点为目前的节点C,则C集合包含了所有客户,由上表知,C中有6个高忠诚度顾客及4个低忠诚度顾客,即
计算各属性的熵:
|
居住区域 |
|
|
|
|
市区 |
1 |
3 |
0.8113 |
|
市郊 |
2 |
0 |
0 |
|
乡镇 |
3 |
1 |
0.8113 |
由市区组成的子集的熵为:
同理,由市郊组成的子集的熵为:
由乡镇组成的子集的熵为:
如果按居住区域划分,对样本分类所需的期望信息为:
同理
Gain(职业)=0.2955
因此以居住区域为C分类属性的信息获利量为最大,所以决定以居住区域为起始节点,将训练集划分成3个子集,其中居住区域为市郊的子集中所有元素都属于同一类别,将其标记为高。因此得到如图1所示的初步划分:
将其它两个子集的剩余属性继续用决策树算法,得到最后的决策树如图4.2所示。
我们从这棵决策树可以很明显的得到一些信息:居住区域为市区的顾客中,年龄在21岁以下的顾客忠诚度低,年龄在30岁以上的顾客忠诚度高;居住区域为市郊的顾客忠诚度高;而居住区域为乡镇的男顾客忠诚度低、女顾客忠诚度高等等。
销售部门可以利用这个训练好的决策树,充分挖掘潜在的客户,为公司赢得更多的利益。
5 结论
决策树是一种简单的数据挖掘方法,它将事例逐步分类成代表不同的类别。由于分类规则是比较直观的,因而比较容易理解。通过对客户忠诚度和购买趋势的分析,据此对价格和销售策略加以调整,以便挖掘潜在客户,吸引新客户,为企业创造更大的利润。
参考文献:
[1]范明 孟小峰译.数据挖掘概念与技术[M].机械工业出版社.
[2]马秀红等.数据挖掘中决策树的探讨[J].计算机工程与应用,2004(1).
[3]Margaret H.Dunham.郭崇慧、田凤占译 数据挖掘教程[M] 清华大学出版社,2005.5.
[4]QUINLAN J R. Induction of decision trees[J ] . Machine Learning ,1986.
[5]CHEN Ming-syan , HAN Jia-wei , YU Philip S. Data mining: An overview from a database perspective [J ] .IEEE Transaction on Knowledge and Data Engineering,1996,8.
