龙空技术网

以女大学生相亲为例,给你讲明白数据挖掘算法

机智的格子间生活 470

前言:

此刻各位老铁们对“数据挖掘算法实现”大概比较重视,你们都想要了解一些“数据挖掘算法实现”的相关内容。那么小编同时在网摘上搜集了一些关于“数据挖掘算法实现””的相关文章,希望咱们能喜欢,各位老铁们一起来了解一下吧!

导读:本文以女大学生相亲为例,对预测性数据挖掘算法的实际应用做简要介绍。

作者:常国珍,赵仁乾,张秋剑

如需转载请联系华章科技

01 决策树

如图1-11所示的树状图展现了当代女大学生相亲的决策行为。其考虑的首要因素的是长相,其他考虑因素依次为专业、年龄差和星座,同意与否都根据相应变量的取值而定。

决策树算法模拟了上述的决策行为,按照这些要求,可以对候选相亲男性的数据进行分类预测,然后根据预测结果找出女大学生心仪的男性。

▲图1-11 当代女大学生相亲的决策树算法示意

02 KNN算法

决策树以女性相亲为例,那么对于一个在婚恋交友网站注册的男性,如何预测该男性的相亲成功率呢?这里使用KNN算法(K-NearestNeighor,最邻近算法)进行预测。

▲图1-12 婚恋网站KNN算法示意(黑色点代表成功约会的人)

这里采用三个变量或属性来描述一个男性,即收入、背景和长相。

在已有的数据中,深灰色点代表相亲成功的人,白点代表相亲不成功的人,中间连接线条的黑点代表一个新来的男性,KNN算法在预测这个新人相亲是否成功时,会找到他和附近的K个点,并根据这些点是否相亲成功来设定新人约会成功的概率。

比如图1-12中黑点与两个深灰色点、一个白点最近,因此该点相亲成功的可能性占2/3。

KNN算法属于惰性算法,其特点是不事先建立全局的判别公式或规则。当新数据需要分类时,根据每个样本和原有样本之间的距离,取最近K个样本点的众数(Y为分类变量)或均值(Y为连续变量)作为新样本的预测值。该预测方法体现了一句中国的老话“近朱者赤,近墨者黑”。

03 Logistic回归

若每个新注册的男性都要和过去每个男性的相亲经历比较才能预测相亲成功率就太麻烦了,那么有没有一种评分方法,可以根据之前男性相亲成败的数据,创建一种为新人打分的评分机制,再根据分值预测新人是否会约会成功呢?有的,这种评分机制的算法模型是Logistic回归。

▲图1-13 逻辑回归算法示意

将以往男性相亲是否成功的情况作为标准(打分),分值越高,相亲成功的可能性就越高,这个打分自然和广大女性考虑的重要因素相关,比如收入、长相等。

本案例将男性的收入与长相作为自变量,将相亲是否成功作为预测变量,构建Logistic回归模型。图1-13中白点代表相亲成功,可以看出随着长相与收入的提升,相亲成功的概率越来越高。

这里Logistic回归拟合了P(y=1)的等高线。该值越高,说明相亲成功的概率越高。

04 神经网络

Logistic回归做出的等高线有可能是不精确的。大家都知道,在相亲决策中,长相和收入不是等比换算的。比如收入很高的男性,只要长相不太差,那么约会成功的可能性非常高;而长相很出色的男性即使收入不高,也会被青睐。

为了得到这种精确的预测结果,神经网络被发明和运用。以神经网络为例,该方法不是沿着概率的变化方向做标尺,而是与概率变化方向垂直的方向做划分。

如果数据是空间线性可分的,则如图1-14a所示,随机地以一条直线作为模型判断依据。如果数据是空间非线性可分的,则会得到解释因素和结果之间复杂的关系。从图1-14b中可以看出,神经网络并不像Logistic回归那样对数据进行线性划分,而是对数据进行非线性划分,这也是神经网络的一大特点。

▲图1-14 神经网络算法示意

05 支持向量机

支持向量机和神经网络很相似。但是神经网络的划分依据是随机产生的,不是预测风险最小的分割方式。支持向量机本质上是形成一个超平面对数据点进行分割,但并不是所有的点对形成超平面的作用都很重要。

比如对于长相和收入得分都很高的男性来说,相亲成功的可能性很高,而长相和收入得分都很低的男性相亲成功的可能性则很低。我们不需要太关注这类男性,而是把重点放在超平面附近的那些男性上,这就是支持向量机的基本思想,这些超平面附近的点即是“支持点”。

支持向量机旨在寻找一个高维超平面,从而能够划分开低维度下相亲成功与不成功的点,达到分类预测的目的。另外,一些数据在低维空间中会有线性不可分的问题,此时支持向量机可以将数据在形式上进行升维处理,从而能够在高维空间中轻松划分数据,如图1-15所示。

▲图1-15 支持向量机示意

06 集成学习

大家考虑一下,通常女性决定和谁约会是自己决定的吗?一意孤行的决定往往不会幸福,通过七大姑八大姨集体讨论定出的人选往往是不会错的。这个思想在统计学中被证明是有效的。

如图1-16a所示,左上图是某随机变量的原始的分布,左下图是反复抽样后,样本均值的分布。后者的离散情况明显低于前者,科学家证明样本均值方差等于样本的方差除以样本量的开平方。

复杂的模型偏差小而方差大。如图1-16b的右图所示,每个基模型的预测方差较大,可以通过做多个复杂的模型同时作预测,取预测的均值作为最终模型的预测值,可以在保持模型偏差不增加的情况下,有效地降低整体模型预测方差。

▲图1-16 组合算法的原理

这就是集成学习(也被称为组合方法) 的思想,该类方法被认为是预测能力最强、最稳健的模型,其原理体现了“兼听则明”的传统观点。

该方法不求做出一个大而准的模型,而是通过反复的自抽样,构造不同的分类模型,每个小模型都可以是决策树或神经网络等,每个小模型使用的方法也都可以不一样。每个预测样本的打分为所有模型预测的均值或众数,作为集成学习的最终结果。其操作如图1-17 所示。

▲图1-17 组合算法示意

07 预测类模型讲解

预测类模型根据被解释变量的度量类型,分为对连续变量建模的回归,对分类变量建模的分类器,其中以二分类器为主。这里的回归不是仅有线性回归,还有回归决策树、回归神经网络,甚至最近邻域(KNN)和支持向量机(SVM)也可以做回归,不过由于商业中后两者并不常用。

而大家常听到的逻辑回归属于分类模型,不属于回归,这个名称的问题是统计学和机器学习的学科差异造成的。

分类器算法也很多,其中最主要的是二分类器。至于多分类器,由于其统计学中的功(power)比较低(指犯第二类统计错误的概率较高,用白话说就是模型不靠谱),因此多用作示意讲解,很少直接用于做预测。实际工作中把多分类问题转化为多个二分类模型来实现。

人类在日常生活中会遇到形形色色的分类问题。比如小孩在识物时,父母与老师都会耐心地拿着图片告诉小孩这是苹果,那是梨子,可以通过形状、颜色对它们加以区分。

人类在进行分类识别时,是根据已知的经验,加上归纳,形成一套事物的分类规则,这样就能够比较容易辨识与推断陌生的事物了。分类器的工作机制与人类对事物进行分类的过程非常类似,它根据已知类别的样本形成规则,然后对未知类别样本进行分类。

常见的分类器包括Logistic回归、分类决策树、神经网络、支持向量机、朴素贝叶斯等。

以下我们重点讲解二分类器。基于训练样本的规则,分类器可以对未知分类的数据进行分类预测,根据业务场景以及模型原理的不同,可以将二分类器分为两类:

1. 排序类分类器(业内称为评分卡模型)

这种分类器在进行预测时,输出的结果是类别的概率。对应到实际业务场景中,即难以以一个普适的标准定义研究目标的类别,换言之,目标的类别不能被稳定地辨识。

例如,在汽车违约贷款模型中,客户逾期多长时间不还款能被定义为违约?在客户营销响应模型中,营销多长时间后客户产生购买行为被定义为响应?在客户流失预测模型中,客户多久不产生业务往来算是流失?

这种问题使用排序类分类器较合理,因为这种分类器可以表示事物发生的可能或倾向性。排序类分类器的常见方法包括Logistic回归、决策树、神经网络等。

排序模型一个重要的特征是对行为结果建模。行为是内心决策的外部表现,理性的人在做一项决定时需要考虑效用(心理上的满足感或实际的收益)与成本。

比如客户营销响应模型中,客户付出的成本是产品的价格,一般而言所有客户面临的价格是统一的,而客户的效用各有不同,只有客户认为其购买的产品带来的效用高于成本,才会购买。

由于需要待建模的事件有这个明显特点,因此排序模型建模的全流程都体现出被研究对象(排序模型只研究有思维能力的人或动物,不研究事物的反应)对成本与效用这对矛盾的权衡。

比如信用模型中由于客户贷款后的效用是给定的(客户拿到贷款一万元,则其收益就是一万),而每个人的违约成本不一样,其中收入稳定性、社会关系丰富程度都是直接反映客户违约成本的变量,比如客户通信录中经常通信的联系人越多,代表其社会关系越丰富,越不会因为一万元不还而藏匿起来,失去其社会关系。

排序类模型往往会融入到商业决策中,是对客户倾向性高低的一个度量工具。这类问题的商业需求不是为了精确预测被研究个体实际上是否一定购买或违约的真实结果,因为这里就不存在这个真实结果的统一定义,而需要的是一个准确的排序能力。

这类模型对变量要求很高,而对算法要求不高,Logistic回归和决策树由于可解释性强,便于商业理解并形成策略,因此被广泛使用。神经网络模型一般用于评估数据的可用性。

这里需要强调一下,不是可以出预测概率的算法都适用于排序模型,比如SVM模型也可以出概率,但是该算法的强项是做分类,在预测概率方面并不擅长。

2. 决策类分类器

这种分类器进行分类预测时将会输出准确的类别而非类别的概率。对应到实际的业务场景中,即研究目标的类别是有普遍标准的,能够被清晰辨识。

例如,在客户交易欺诈类模型中,交易欺诈是一种被法律定义的违法行为,一旦满足既定标准,客户的行为就会被定义为欺诈;在图像识别中,识别结果也是一个可以被明确定义的类别。决策类分类器的常见方法有贝叶斯网络、最近领域(KNN算法)、SVM、深度学习等。

排序类算法适用于被解释变量是人为定义的情况,比如信用评分、流失预测、营销响应。决策类算法适用于被解释变量是客观存在的、非人为定义的,比如交易欺诈(欺诈属于犯罪行为,只要花时间追查,总是有最终定论的)、人脸识别、声音识别等。分类器如图1-18所示。

▲图1-18对二分类模型的进一步划分

08 预测类模型评估概述

根据以上讲解的回归、二分类器,不同的算法选择不同的评估指标。主要指标见表1-4。

▲表1-4 分类模型类型与评估统计指标的选择

其中决策类模型主要关注于二分类的准确性等指标,排序类模型关心对倾向性排序的一致性。回归模型关心的是预测值与实际值之间的差异。以上是预测类模型评估的简介。

关于作者:常国珍,数据科学专家和金融技术专家。北京大学会计学博士,中国大数据产业生态联盟专家委员会委员。赵仁乾,数据科学家,在电信大数据和机器学习领域有丰富的实践经验。张秋剑,大数据专家和金融行业技术专家,上海师范大学计算机科学技术硕士。

本文摘编自《Python数据科学:技术详解与商业实践》,经出版方授权发布。

延伸阅读《Python数据科学》

推荐语:本书从3个维度展开,技术维度:全面讲解数据分析、数据挖掘和机器学习的核心技术;业务维度,围绕具体的业务生命周期展开技术知识点的讲解;实践维度,列举的全部是商业案例,通过案例为数据科学从业者提供工作模板。

标签: #数据挖掘算法实现