贝叶斯是分类和预测算法中的一种,咱们在前面的文章中已经详细介绍过它的计算过程。贝叶斯经过已知的P(B|A)的几率计算P(A|B)的几率。若是P(A)和P(B)相互独立,成为朴素贝叶斯(Naive Bayes)。如下为贝叶斯的计算公式:算法
咱们将经过这个公式对用户的转化几率进行预测。下面是一我的工生成的数据表截图(须要说明的是,这些数据都是人工生成的示例数据,并不代真实的品类及来源表现)。这类数据表可能来自网站的服务器日志,CRM系统,用户调研报告或者网站数据报告中。在这个简单的数据表里只包含有两个字段:品类和是否购买。其中品类表示用户访问过的页面所属的商品类别,是否购买表示用户最终是否付款。在这个数据表中,是否购买是咱们所关注的结果。品类是维度。服务器
在使用贝叶斯公式开始计算以前,咱们首先须要将数据表转化为以维度和结果组成的频率表,频率表中包含4类信息:优化
咱们将使用者四类信息来计算贝叶斯算法中所须要的几率值。在生成频率表的过程当中有一点须要注意,结果信息(购买/未购买)要放在列的位置,维度信息(数码,家居)要放在行的位置。下面咱们将经过频率表生成用于计算的似然表。网站
如下为似然表,其中包含了用于贝叶斯算法中所须要的几率值。咱们与贝叶斯公式对照来看:P(A)=P(购买)是完成购买的几率,P(B)=P(数码)是数码类别的几率,P(B|A)=P(数码|购买)是已经购买的用户中数码品类的几率。下面的图表中标识了这几个几率和所对应的位置。spa
将各个对应的几率值代入到贝叶斯公式中,求出各品类的购买几率。下面是以数码品类为例计算出的购买几率。日志
将其余品类的数据分别代入到贝叶斯公式中,求出全部品类的购买几率。每一个品类购买几率的数值以下表所示。blog
这个几率值能够理解为不一样品类的转化率。这里有两个须要说明的问题。首先,预测的几率数据可能并不许确,由于咱们只考虑了单一维度的因素(品类)。而影响用户购买的影响因素会有不少,而且品类维度也未必是最重要的影响因素。这就好像咱们看见一个黑人就认为他来自非洲同样。只依靠肤色这个单一的维度来作判断结果可能并不许确。其次,这个分品类的转化率咱们经过现有数据也能求出来,不须要经过复杂的贝叶斯算法计算。而且这个预测数据对于寻找新的转化用户,以及优化购买转化率并无明显的支持做用。get
所以,为了得到更准确而且有价值的预测数据,咱们须要在更普遍的数据源中增长新的维度。下面的数据表与以前相比增长了新的维度“来源”,咱们经过来源和品类两个维度从新计算转化几率。基础
计算的方法和以前同样,先分别计算并生成两个维度的频率表。下面是来源和品类维度各自的频率表。程序
在频率表的基础上分别对来源和品类维度生成似然表。下面的图表中标注了所须要的几率值。
将似然表中的几率值代入到公式中,求出所需的几率值。这里以SEM流量在数码品类的购买几率为例进行计算。
将渠道和品类的几率值分别代入公式得到分来源的品类购买几率。以下表所示。能够发现,与以前相比每一个品类的转化几率都与来源维度进行了交叉细分。对细分后的品类转化几率进行对比后能够发现每一个流量来源对于不一样品类的转化几率。例如:对于数码品类,引荐流量,EDM流量和社交媒体的购买几率要高于其余来源。到了这一步也许你还想知道每一个流量来源的特征和在不一样品类中的转化几率。
咱们以来源做为主维度来从新组织数据,分析不一样流量来源的特征以及在不一样品类中的转化几率。以SEM流量为例,在示例数据中,SEM流量在汽车,图书和户外品类中的转化几率较高,在数码和服装的转化几率通常,在家居品类的的转化几率则相对较差。
到这一步咱们已经有了流量来源和品类交叉的几率。与以前的单一品类维度转化几率来看要更准确一些,并已经能对流量渠道选择和广告投放有一些初步的指导做用。但这些数据并非基于人的,没法帮助咱们发现用户的特征以及如何寻找更多的转化用户。所以,咱们须要增长与人有关的维度。这些数据可能并不在网站日志中,他们可能来自用户调研或其余渠道。下面的数据表中增长了用户的人群属性信息,如月收入,婚姻情况,学历,和星座等信息,这也更贴近网站分析中的真实状况。
咱们从新调整视角,把关注和分析的维度从流量来源转向与人有关的属性。首先是用户月收入属性和品类。这里咱们假定品类是用户来访的目的。以服装品类为例,经过月收入和品类维度的交叉细分能够发现,月收入15000元以上用户完成购买的几率较高,而月收入在5001-10000元的用户完成购买的几率较低,为0.38。
从新整理两个细分维度的顺序,将月收入做为主维度能够发现不一样收入区间用户对品类的网站商品购买的几率。以15001-20000元区间为例,购买图书,汽车,母婴和服装的几率较高,而购买家居和户外品类的几率则相对较低。
两个维度的购买几率预测明显要优于单一维度的结果。由于咱们掌握了更多的信息,下降告终果的不肯定性。但这还并不能回答本文开篇时的问题,哪些用户最有可能转化?如何找到这些用户?他们有哪些特征?所以,还须要引入更多的用户属性。下面咱们将维度增长到3个,以更好的对用户进行细分和定位。
在下面的数据表中,咱们使用品类,学历和婚姻情况三个维度进行交叉细分,创建不一样用户的购买几率表。与两个维度的几率表相比,三个维度的几率表不管是在内容仍是计算量上都增长了一倍(这还只是在增量了婚姻情况后的状况,若是增长星座维度,会更加复杂)。多维度的几率表应该由程序计算和维护,而不该该手动计算。
三个维度交叉后的购买几率表可以更加精准的描述用户属性,并定位用户的购买偏好。对于一个专科学历,未婚的用户,咱们能够根据历史的购买数据来判断他有0.94的几率会购买户外用品。或者换个角度来看,对于汽车这个品类,寻找未婚的硕士研究生用户可能比寻找已婚小学用户购买几率高0.2(0.81-0.61)。
这个购买的预测几率准确吗?按照这个几率来寻找用户投放广告就必定能有收获吗?答案是不必定。几率只是这件事发生的可能性,并非说这件事必定会发生。由于实际状况比模型要复杂的多,以服装品类为例,这其中可能还涉及到季节性因素和品牌因素和价格因素的影响。所以咱们还须要按照每次预测的结果对模型进行不断的调整和优化。
最后再次说明,本文中的全部数据都是人工生成的示例数据,只为说明分析思路和计算过程,没有任何表明性。