【毕友导读】本文由西南财经大学海外特聘教授、毕友嘉宾林漳希推荐。简而言之,数据挖掘(Data Mining)是有组织有目的地收集数据,通过分析数据使之成为信息,从而在大量数据中寻找潜在规律以形成规则或知识的技术。在本文中,我们从数据挖掘的实例出发,并以数据挖掘中比较经典的分类算法入手,给读者介绍我们怎样利用数据挖掘的技术解决现实中出现的问题。
数据挖掘是如何解决问题的?
本节通过几个数据挖掘实际案例来诠释如何通过数据挖掘解决商业中遇到的问题。下面关于“啤酒和尿不湿”的故事是数据挖掘中最经典的案例。而Target公司通过“怀孕预测指数”来预测女顾客是否怀孕的案例也是近来为数据挖掘学者最津津乐道的一个话题。
尿不湿和啤酒
很多人会问,究竟数据挖掘能够为企业做些什么?下面我们通过一个在数据挖掘中最经典的案例来解释这个问题——一个关于尿不湿与啤酒的故事。超级商业零售连锁巨无霸沃尔玛公司(Wal Mart)拥有世上最大的数据仓库系统之一。为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行了购物篮关联规则分析,从而知道顾客经常一起购买的商品有哪些。在沃尔玛庞大的数据仓库里集合了其所有门店的详细原始交易数据,在这些原始交易数据的基础上,沃尔玛利用数据挖掘工具对这些数据进行分析和挖掘。一个令人惊奇和意外的结果出现了:“跟尿不湿一起购买最多的商品竟是啤酒”!这是数据挖掘技术对历史数据进行分析的结果,反映的是数据的内在规律。那么这个结果符合现实情况吗?是否是一个有用的知识?是否有利用价值?
为了验证这一结果,沃尔玛派出市场调查人员和分析师对这一结果进行调查分析。经过大量实际调查和分析,他们揭示了一个隐藏在“尿不湿与啤酒”背后的美国消费者的一种行为模式:
在美国,到超市去买婴儿尿不湿是一些年轻的父亲下班后的日常工作,而他们中有30%~40%的人同时也会为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫不要忘了下班后为小孩买尿不湿,而丈夫们在买尿不湿后又随手带回了他们喜欢的啤酒。另一种情况是丈夫们在买啤酒时突然记起他们的责任,又去买了尿不湿。既然尿不湿与啤酒一起被购买的机会很多,那么沃尔玛就在他们所有的门店里将尿不湿与啤酒并排摆放在一起,结果是得到了尿不湿与啤酒的销售量双双增长。按常规思维,尿不湿与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内这一有价值的规律的。
Target和怀孕预测指数
关于数据挖掘的应用,最近还有这样一个真实案例在数据挖掘和营销挖掘领域广为流传。
美国一名男子闯入他家附近的一家美国零售连锁超市Target店铺(美国第三大零售商塔吉特)进行抗议:“你们竟然给我17岁的女儿发婴儿尿片和童车的优惠券。”店铺经理立刻向来者承认错误,但是其实该经理并不知道这一行为是总公司运行数据挖掘的结果。如图所示。一个月后,这位父亲来道歉,因为这时他才知道他的女儿的确怀孕了。Target比这位父亲知道他女儿怀孕的时间足足早了一个月。
Target怀孕预测指数
Target能够通过分析女性客户购买记录,“猜出”哪些是孕妇。他们从Target的数据仓库中挖掘出25项与怀孕高度相关的商品,制作“怀孕预测”指数。比如他们发现女性会在怀孕四个月左右,大量购买无香味乳液。以此为依据推算出预产期后,就抢先一步将孕妇装、婴儿床等折扣券寄给客户来吸引客户购买。
如果不是在拥有海量的用户交易数据基础上实施数据挖掘,Target不可能做到如此精准的营销。
电子商务网站流量分析
网站流量分析,是指在获得网站访问量基本数据的情况下对有关数据进行的统计和分析,其常用手段就是Web挖掘。Web挖掘可以通过对流量的分析,帮助我们了解Web上的用户访问模式。那么了解用户访问模式有哪些好处呢?
-
在技术架构上,我们可以合理修改网站结构及适度分配资源,构建后台服务器群组,比如辅助改进网络的拓扑设计,提高性能,在有高度相关性的节点之间安排快速有效的访问路径等。
-
帮助企业更好地设计网站主页和安排网页内容。
-
帮助企业改善市场营销决策,如把广告放在适当的Web页面上。
-
帮助企业更好地根据客户的兴趣来安排内容。
-
帮助企业对客户群进行细分,针对不同客户制定个性化的促销策略等。
人们在访问某网站的同时,便提供了个人对网站内容的反馈信息:点击了哪一个链接,在哪个网页停留时间最多,采用了哪个搜索项、总体浏览时间等。而所有这些信息都被保存在网站日志中。从保存的信息来看,网站虽然拥有了大量的网站访客及其访问内容的信息,但拥有了这些信息却不等于能够充分利用这些信息。
那么如果将这些数据转换到数据仓库中呢?这些带有大量信息的数据借助数据仓库报告系统(一般称作在线分析处理系统),虽然能给出可直接观察到的和相对简单直接的信息,却也不能告诉网站其信息模式及怎样对其进行处理,而且它一般不能分析复杂信息。所以对于这些相对复杂的信息或是不那么直观的问题,我们就只能通过数据挖掘技术来解决,即通过机器学习算法,找到数据库中的隐含模式,报告结果或按照结果执行。为了让电子商务网站能够充分应用数据挖掘技术,我们需要采集更加全面的数据,采集的数据越全面,分析就能越精准。在实际操作中,有以下几个方面的数据可以被采集:
-
访客的系统属性特征。比如所采用的操作系统、浏览器、域名和访问速度等。
-
访问特征。包括停留时间、点击的URL等。
-
条款特征。包括网络内容信息类型、内容分类和来访URL等。
-
产品特征。包括所访问的产品编号、产品目录、产品颜色、产品价格、产品利润、产品数量和特价等级等。
当访客访问该网站时,以上有关此访客的数据信息便会逐渐被积累起来,那么我们就可以通过这些积累而成的数据信息整理出与这个访客有关的信息以供网站使用。可以整理成型的信息大致可以分为以下几个方面:
-
访客的购买历史以及广告点击历史。
-
访客点击的超链接的历史信息。
-
访客的总链接机会(提供给访客的超级链接)。
-
访客总的访问时间。
-
访客所浏览的全部网页。
-
访客每次会话的产出利润。
-
访客每个月的访问次数及上一次的访问时间等。
-
访客对于商标总体正面或负面的评价。
分类:从人脸识别系统说起
美国电视剧《反恐24小时》中有一集,当一个恐怖分子用手机拨打了一个电话,从CTU(反恐部队)的计算机系统中便立刻发出恐怖分子出现的预警。很多好莱坞的大片中此类智能系统的应用也比比皆是,它能从茫茫人群中实时找出正在苦苦追踪的恐怖分子或间谍。而在2008年北京奥运会上,最引人注意的IT 热点莫过于“实时人脸识别技术”在奥运会安检系统中的应用,这种技术通过对人脸关键部位的数据采集,让系统能够精确地识别出所有进出奥运场馆的观众身份。
目前人脸识别技术正广泛的应用于各种安检系统中,警方只需将犯罪分子的脸部数据采集到安检数据库,那么只要犯罪分子一出现,系统就能精确地将其识别出来。现如今人脸识别技术已经相对成熟,谷歌在Picasa照片分享软件的工具中就已经加入了人脸识别功能。当然,人脸识别技术牵涉到隐私,是把双刃剑,谷歌在谷歌街景地图中故意将人脸模糊化,变得无法识别就是这个原因。如图所示为人脸识别示意图。
人脸识别示意图
虽然需要借力于其他技术,但是人脸识别中的主要技术还是来自于数据挖掘中的分类算法(Classification)。让我们从一个最简单的事实来解释分类的思想。设想一下,一天中午,你第一次到三里屯,站在几家以前从未去过的餐厅门前,现在的问题是该选择哪家餐厅用餐。应该怎样选择呢?假设您没有带手机,无法上网查询,那么可能会出现如下两种情况:
一种,你记起某位朋友去过其中一家,并且好像他对这家的评价还不错,这时,你很有可能就直接去这家了。
第二种,没有类似朋友推荐这类先验知识,你就只能从自己以往的用餐经历中来选择了,例如你可能会比较餐厅的品牌和用餐环境,因为似乎以前的经历告诉自己,品牌响、用餐环境好的餐厅可能味道也会好。不管是否意识得到,在最终决定去哪家吃的时候,我们已经根据自己的判断标准把候选的这几家餐厅分类了,可能分成好、中、差三类或者值得去、不值得去两类。而最终去了自己选择的那家餐厅,吃完过后我们自然也会根据自己的真实体验来判定我们的判断准则是否正确,同时根据这次的体验来修正或改进自己的判断准则,决定下次是否还会来这家餐厅或者是否把它推荐给朋友。
选择餐厅的过程其实就是一个分类的过程,此类分类例子是屡见不鲜的。在古时,司天监会依赖长时间积累的信息,通过观察天象对是否会有天灾做出分类预测。古人则通过对四季气候雨水的常年观察,总结出农作物最佳播种时间。在伯乐的《相马经》中,就通过简单分类区分出羸马的三条标准:“大头小颈,弱脊大腹,小颈大蹄”。
其实在数据挖掘领域,有大量基于海量数据的分类问题。通常,我们先把数据分成训练集(Training Set)和测 试集(Testing Set),通过对历史训练集的训练,生成一个或多个分类器(Classifier),将这些分类器应用到测试集中,就可以对分类器的性能和准确性做出评判。如果效果不佳,那么我们或者重新选择训练集,或者调整训练模式,直到分类器的性能和准确性达到要求为止。最后将选出的分类器应用到未经分类的新数据中,就可以对新数据的类别做出预测了。
分类算法的应用
本节将为大家介绍数据挖掘中的分类算法在一些行业中的代表性应用。我们将算法应用分为表述问题和解决过程两个阶段,表述问题即需要运用数据挖掘能够理解和处理的语言来阐述业务问题,最重要的是能够用正确且符合实际的方式把业务问题转化成数据挖掘问题,这往往决定了后续工作是否能有效的展开,尝试解决一个不符合实际的业务问题往往会使得数据挖掘的工作陷入数据的海洋中,既费时费力又得不到想要的结果。而解决过程,顾名思义就是将表述清楚的问题通过数据挖掘的方法加以解决的过程。在我们把业务领域的问题很清晰地转化为数据挖掘领域的问题之后,解决问题也就变得相对直截了当。
分类算法的应用非常广泛,只要是牵涉到把客户、人群、地区、商品等按照不同属性区分开的场景都可以使用分类算法。例如我们可以通过客户分类构造一个分类模型来对银行贷款进行风险评估,通过人群分类来评估酒店或饭店如何定价,通过商品分类来考虑市场整体营销策略等。
在当前的市场营销行为中很重要的一个特点是强调目标客户细分。无论是银行对贷款风险的评估还是营销中的目标客户(或市场)细分,其实都属于分类算法中客户类别分析的范畴。而客户类别分析的功能也正在于此:采用数据挖掘中的分类技术,将客户分成不同的类别,以便于提高企业的决策效率和准确度。例如呼叫中心设计时可以分为呼叫频繁的客户、偶然大量呼叫的客户、稳定呼叫的客户和其他客户,以帮助呼叫中心寻找出这些不同种类客户的特征。这样的分类模型可以让呼叫中心了解不同行为类别客户的分布特征。
下面是几个做得比较成熟的具体分类应用描述和解决过程。
直邮营销(Direct Mail)
直邮营销是直效行销的一种,是把传统邮件直接发送给消费者的营销方式,而且很多传统行业把直邮营销作为整个营销体系中一个重要的组成部分,涉及的行业主要是大型商场、大卖场、商业连锁店铺、专卖店等。当然由于直邮营销的应用很广,所以这种方式也同样适用于其他行业。
案例阐述:A公司是一家汽车4S店,公司拥有完备的客户历史消费数据库,现公司准备举办一次高端品牌汽车的促销活动,为配合这次促销活动,公司计划为潜在客户(主要是新客户)寄去一份精美的汽车销售材料并附带一份小礼品。由于资源有限,公司仅有1000份材料和礼品的预算额度。
表述问题:这里新客户是指在店中留下过详细资料但又没有消费记录的客户。这次促销活动的要求是转化收到这1000份材料和礼品的新客户,让尽量多的新客户能够最终成为4S店的消费客户。
解决问题:公司首先找出与这次促销活动类似的已经举办过的促销活动的历史消费数据,再将这个历史数据集中,把促销结果分成正反两类,正类用来表示可以最终消费的客户。通过历史数据的训练我们可以得出一个分类器,如果用的是决策树,我们还能够得出一个类似If-Then(如果-就)的规则,而这个规则能够揭示参加促销活动并最终消费的客户的主要特征。由于分类结果最后可以表示成概率形式,如此,用经过测试集测试过的分类器对新客户进行分类,将得到的正类客户的概率由大到小排序,这样就可以生成一个客户列表,营销人员按着这个表由上至下数出前1000个客户并向他们寄出材料和礼品即可。
客户流失模型
这一模型的应用出现在我国的移动通信行业,其目的主要是为了降低客户流失率。
案例阐述:我国的移动通信行业经过了前几年的高速发展,近一段时间的发展速度逐渐缓慢下来。注册用户常常处于一种动态变化的状态,即不断有老客户离网,又不断有新客户入网。大量的低消费客户和大量老客户的离网使得移动通信公司无法快速向前发展。
表述问题:当务之急在于降低客户流失率,这里需要解决的问题是如何找出这些将要流失的客户,如何采取适当的挽留措施减少客户的流失。
解决问题:我们需要建设客户流失模型。和直邮营销一样,其目的也是为了对新客户进行分类。只不过客户流失模型是为了找出那些不稳定易流失的客户。整个建模过程与直邮营销类似。移动通信企业的最大优势在于这类公司的规模往往很大,数据收集和存储的能力也比一般企业强很多,所以它们会拥有较详细的客户消费数据,这对于数据挖掘的最终成功有着非常重要的作用。
垃圾邮件处理
案例阐述:对于企业和个人,如何处理垃圾邮件都是很头疼的一件事情。在盘石公司开发的磐邮系统中,每个客户可以有300G的邮件储存容量,虽然有足够的容量容纳垃圾邮件,但是没有过滤掉的垃圾邮件仍然会造成糟糕的用户体验。表述问题:如何对每个邮箱中收到的每封邮件进行处理,将有用邮件保留而过滤掉垃圾邮件是用户关心的一大问题。
解决问题:目前的垃圾邮件过滤方法主要是采用文本挖掘技术(Text Mining)。作为数据挖掘的重要分支,文本挖掘在数据挖掘传统方法的基础上引入了语义处理等其他学科知识。在垃圾邮件过滤的分类技术中最常见的是贝叶斯分类法。贝叶斯分类法主要是通过对邮件的信封标题、主题和内容进行扫描和判别。
近来,因为垃圾邮件发送方式随着各家企业邮箱开发商的反垃圾技术的提升而变化,通过附件(PDF、图像等)方式发送垃圾邮件的专业户也越来越多,所以扫描的内容又增加了一项检查附件的工作。
信用卡分级
案例阐述:现如今金融行业的竞争异常激烈。在美国,出现在每一家邮箱里最多的信件恐怕就是信用卡邀请信。如何吸引合适的用户来使用信用卡,以及准确分析申请人的信用风险,是每个商业银行最关注也是最头痛的事情。银行要不惜一切代价吸引低风险高价值的客户,但是对于高风险的信用卡申请者要尽量避免。
表述问题:如何把信用卡申请者分类为低、中、高风险。
解决问题:我们需要建设客户风险模型对客户的风险进行分类。整个建模过程与直邮营销类似。不过因为行业的特殊性,申请表中包含了大量关于用户的个人信息,再加上通常会做的客户信用查询,可以用来参考的数据维度比前面的三个案例都要多一些,所以相对来说建模的精准度也会高很多。
除了上面列出的四种典型问题之外,分类数据挖掘还有很多不同类型的应用,例如文献检索和搜索引擎中的自动文本分类技术,安全领域的入侵检测等。
不过,不是所有分类的场景使用分类数据挖掘都有实际操作性。美国政府曾在“9·11”发生后提出一项全面信息识别计划(Total Information Awareness Project),这项计划的目的是建立系统,利用数据挖掘技术对全美居民的通话记录和信用卡支付记录等海量数据信息进行分析,并利用这个系统来识别隐藏在美国的全部恐怖分子。除去涉及的个人隐私问题和海量数据如何获取和处理的问题之外,单纯从数据挖掘问题本身来说,这个计划的可行性就要打个大问号。假设通过数据挖掘技术建立了一个99%的分类器来识别恐怖分子,虽然这个分类器的精度已经是相当好了,但是整个美国一天之中可产生的相关数据保守估计就会有约十亿条,在产生如此庞大的增量情况下,这个99%的分类器每天至少也要忽略掉近千万条可疑数据,那么就可以说这种分类器几乎毫无用处。可能是基于这个原因,2003年这个计划被终止,虽然之后还是有若干个类似的计划被提出并尝试,但其效果都很有限。正如前所述,除非另辟捷径,否则这项计划能够成功实施的可能性很小。