更全的杂志信息网

基于Python的聚类方法在电商客户细分中的应用研究

更新时间:2009-03-28

0 引言

聚类分析是数据挖掘研究领域中一个非常重要的研究课题,它在电子商务、图像处理、模式识别、文本分类等领域有广泛的应用.而在电子商务中,基于客户价值进行客户细分是企业和学者关注的焦点[1-3],准确的客户分类结果成为企业优化营销资源分配的重要依据.

本文以一家电商女装店的实际客户数据为例,使用Python的机器学习库Scikit-Learn,对其客户数据采用聚类的方法,进行客户分类.从而帮助企业制定优化的个性化服务方案,针对不同价值的客户采取不同的营销策略,实现企业利润最大化目标.

1 Python及其扩展库简介

Python是一门简单易学且功能强大的编程语言.它拥有高效的数据结构,并且能用简单而又有效的方式进行面向对象编程.Python具有优雅的语法和动态类型,再结合它的解释性,使其在许多领域成为编写脚本或开发应用程序的理想语言.随着NumPy,SciPy,Matplotlib和Pandas等众多程序库的开发,Python在科学领域占据着越来越重要的地位,包括科学计算、数学建模、数据挖掘,可以预见,未来Python将会成为科学领域的主流编程语言[4].

2 K-Means聚类算法

聚类算法大体上可以分为以下几种:划分方法、层次方法、基于密度的方法、基于网格的方法和基于模型的方法[5].K-Mean算法是划分方法中的一种算法,由于其具有运行效率高的优点而在实际应用中经常被使用.

2.1 算法基本思想

K-Means聚类算法是典型的基于距离的聚类算法.算法的主要思想是先在需要分类的数据中寻找K组数据作为初始聚类中心,然后计算其他样本点距离这K个聚类中心的距离,将样本点归入与其距离最近的聚类中心,然后重新计算各簇中所有样本的中心点,作为新的聚类中心,继续以上步骤,直到新的聚类中心与上一次的聚类中心点不变或达到预定的迭代次数时,算法结束[6].

2.2.1 有效性评价标准 聚类有效性是指对聚类结果进行评价以确定最适合特定数据集的划分和评判所得结果是否是有效的、正确的.常用的内部有效性指标有Calinski-Harabasz指标、Davies-Bouldin指标、Weighted inter-intra指标、Krzanowski-Lai指标、Hartigan指标等[7].这些指标不依赖外部的参考标准,只依据数据集本身和聚类结果的统计特征对聚类结果进行评估,并可以根据聚类结果的优劣选取最佳聚类数.

K-Means算法使用随机点作为初始中心点,若初始中心点选择不当,有可能导致簇效果不佳或产生收敛速度慢等问题.K-Means++算法提出使初始中心点尽量远离,它能够产生更好的效果.

K-Means++算法的初始化过程描述如下:

Step1 初始化一个空的集合M,用于存储选定的k个中心点.

Step2 从输入样本中随机选定一个中心点μ(j),并将其加入到集合M中.

Step3 对于集合M外的任一样本点x(i),通过计算找到与其平方距离最小的样本d(x(i),M)2.

Step4 使用加权概率分布来随机选择下一个中心点μ(p).

夯实水泥土桩地基技术的特点包括:(1)夯实水泥土桩地基技术具有较大的承载力,有较强的稳定性和强度,可以承受较大的荷载;(2)夯实水泥土桩地基技术具有一定的压缩性,可以降低施工材料的使用效率,对材料的要求较低且便于就地取材,大大节省了材料的采购成本和运输成本;(3)夯实水泥土桩地基技术在施工过程中,对机械设备与辅助工具的要求不高,工程施工的具体操作方法比较便捷简单,并且具有施工效率高与施工成本低优势[2]。

(3)将簇分离度与簇内聚度之差除以二者中的较大者得到轮廓系数,如下式所示:

(1)将某一个样本x(i)与簇内其他点之间的平均距离看作是簇内的内聚度a(i);

为了保持开发过程中的竞争力,产品开发时最重要的是高效,故而需要模拟仿真技术。使用这种技术可以模拟物理特性,例如温度、速度、压力或变形情况。相比实物而言模拟方式花费少,可随时改变试验条件、重复试验并进行对比,如此一来,那些悬而未决的问题,如整个系统的表现、单个组件的变化或物流的改变企业都能提前预见,从而避免了后期的改进、浪费时间和高昂的延迟成本。

2.2 聚类结果评估

2015年,渤海装备通过对烟气轮机远程状态监测诊断系统进行进一步技术升级,监测数据的准确性、超前性、可靠性得到加强,保证了催化装置的稳定、高效、安全运行,赢得了用户的认同和信赖。目前,远程监测诊断中心已为中国石油集团公司内部26家炼化企业的40余台烟气轮机提供实时运行监测,累计提供诊断报告200余份,有力保障了设备可靠运行。

由于无监督学习没有数据集样本类标的确切数据,要对聚类效果进行定量分析,需要使用模型内部的固有度量来比较不同K-Means聚类结果的性能.本文使用肘方法和轮廓系数评估聚类质量,下面对这两种方法进行简单介绍.

2.2.2 使用肘方法确定簇的最佳数量 肘方法就是利用簇内误差平方和(Sum of Squared Errors,SSE)最小.计算公式具体如下:

 

(1)

2.2.3 轮廓系数 轮廓分析(Silhouette Analysis)是评估聚类质量的另一种定量分析方法,使用图形工具来度量簇中样本聚集的密集程度.计算数据集中单个样本的轮廓系数(Silhouette Coefficient)的步骤如下:

“位子”,泛指人所占据的地方。由于“人”“地方”内涵丰富,“位子”的解读也就千奇百怪、不一而足。即便是把光圈缩小到“军人”“军队”范围,也仍然是见仁见智、似是而非。横看成岭侧成峰,远近高低各不同。受长期和平环境影响、封建官本位文化侵蚀和一些不良积习的熏染,我军军人“位子”的本质属性,在潜移默化中出现了一些变味变质现象,有的甚至与本质属性渐行渐远,值得关注和警醒。

其中:μ(j)为簇j的中心点,如果X(i)属于簇j,则有w(i,j)=1,否则w(i,j)=0.

Step6 基于选定的中心点执行K-Means算法.

假设系统中包含M个相同的运行单元(设备、模块、组件等),每个运行单元包含主部件和辅助部件两种部件。主部件(Main Component, MC)具有较高的维修优先级,其在系统运行中处于主导地位,其失效会导致整个运行单元停机;辅助部件(Assistant Component, AC)维修优先级较低,其失效时可选择立即维修或延迟维修。每个运行单元由p个MC和n个AC组成。同种部件有相同的寿命分布,但彼此独立。假设已知部件的寿命分布和概率密度函数,记FM(t)和FA(t)分别为MC和AC的寿命分布,PM(t)和PA(t)分别为MC和AC的概率密度函数。

(2)将样本x(i)与其最近簇中所有点之间的平均距离看作是与下一最近簇分离度b(i);

Step5 重复Step2、Step3步骤,直到选定k个中心点.

 

(2)

在电子商务对于RFM的应用中,R表示客户最近一次购买时间距今有多远,F表示客户在最近一段时间内购买的次数,M表示客户在最近一段时间内购买的金额.

3 客户价值模型构建

RFM模型是衡量客户价值和客户创利能力的重要工具和手段.在众多的客户关系管理(Customer Relationship Mangement,CRM)的分析模式中,RFM模型是被广泛提到的.该模型通过一个客户的近期购买行为(Recency)、交易频率(Frequency),以及交易金额(Monetary)三项指标来描述该客户的价值状况.一般的分析型CRM着重于客户贡献度的分析,RFM则强调以客户的行为来区分客户[8].

从制种生产开始到种子收割装袋入库的各个生产环节都要严格防止生物学混杂和机械混杂,对于田间杂株做到发现一株除掉一株。在母本授粉结束后20 d即可抢晴天收割,先割父本,后收母本,并安排专人、固定专用收获工具和晒场,避免种子混杂,确保种子质量。

轮廓系数的值介于-1到1之间.显然,k=1时会得到一个理想的轮廓系数.

这一阶段起始于弹-靶开始接触的瞬间。此时弹体自由表面反射的稀疏波尚未到达弹-靶界面,故此可以认为接触面处于一维应力状态。此阶段的持续时间很短,对于平头弹丸及球形弹丸,大致持续到侵彻深度达到弹径长度为止。在此阶段中,影响靶侵彻深度的主要因素是弹-靶接触面处弹体与靶材料的密度和可压缩性。

3.1 用RFM构建客户价值模型

本文以一家规模不大的电商女装店为例,对该网店的200个客户2017年上半年的交易数据进行聚类分析.Frenquery指购买次数,Average_monetary是平均消费金额,Time是最后购买日期.部分客户数据如表1所列.

 

表1 部分客户的RFM数据集

  

NOFrenquencyAverge_monetaryTime130431.12017/5/12234570.112017/3/13340384.172017/5/24453284.282017/3/30512315.742017/4/16271432.232017/3/23716366.282017/5/24822702.632017/5/21

通过数据的提取、清洗和数据变换等步骤的预处理后,运用K-Means++算法进行客户分群.利用Python的Matplotlib可视化工具,绘制预处理后的3维数据图,如图1所示.

K-Means++算法位于Scikit-Learn库下的聚类子库sklearn.cluster,输入数据集为inputfile,根据领域知识指定聚类类别数为k=4.期望将用户分为4类,分别是高价值用户、高现值客户、高潜值客户、低价值客户.

  

图1 数据集的3维图

聚类结果如表2所列,聚类结果用三维图可视化表示,如图2所示.分类结果表明,4类用户中,第3类用户共计13人,在半年内,他们的平均消费额最高,购买次数也比较频繁,购买时间间隔28天左右,属于高价值用户.第4类用户共计50人,为高现值客户,第1类用户共计102人,为高潜值客户,第2类用户共计35人,属于低价值客户.

  

图2 聚类结果的3维图

 

表2 客户聚类运行结果

  

Clusternumber4Clustercenter:Center1:34.314456.6699.559Center2:27.286526.03975.514Center3:48.6921339.11428.769Center4:83.68528.8455.74Distortion81.912Silhouettescore0.338

3.2 模型评价

肘方法的基本理念就是找出聚类偏差骤增时的k值.绘制不同k值对应的聚类偏差图,如图5所示.可见,k=4时,计算得到误差为81.942.

HPV18二重感染,计算时分别在HPVl6、HPV18各计数1次。用SPSS 20.0软件进行统计学分析,计数资料采用χ2检验,以P<0.05为有统计学意义。

由图3、图4可知,轮廓系数为0.338,此指标显示聚类效果不错.结合肘图和轮廓系数图,综合两种方法分析,对于此数据集来说,当k=4时是不错的选择.

  

图3 聚类的肘图

  

图4 聚类的轮廓图

4 结束语

本文对某电商的客户数据使用K-Means聚类进行分类,建立了客户价值评估模型.文中利用Python强大开源库,可视化展示了聚类结果,并对模型的有效性选用肘方法和轮廓系数做了定量分析.聚类方法的一个不足之处在于需要事先指定分类数目,本文采用基于数据集样本本身几何结构的指标评价聚类结果的方法,为聚类分析中的最佳聚类数的确定提供了一种新思路.

参考文献

[1] 姚涛.数据挖掘在淘宝店铺客户价值提升中的应用研究[D].成都:电子科技大学,2012.

[2] 林勤,薛云.双聚类算法在电信高价值客户细分的应用[J].计算机应用,2014,34(6):1807-1811.

[3] 白燕燕.基于客户细分的潜在高价值客户挖掘实证研究[D].兰州:兰州财经大学,2017.

[4] 张良均.Python数据分析与挖掘实战[M].北京:机械工业出版社,2016.

[5] 王鑫,王洪国,王珺,等.数据挖掘中聚类方法比较研究[J].计算机技术与发展,2006(10):20-22,25.

[6] 赛巴蒂安·拉施卡.Python机器学习[M].高明,译.北京:机械工业出版社,2017.

[7] 周世兵.聚类分析中的最佳聚类数确定方法研究及应用[D].无锡:江南大学,2011.

[8] 谭磊.数据掘金电子商务运营突围[M].北京:电子工业出版社,2013.

 
贾桂霞,贾桂云,李向伟,张睿敏
《兰州文理学院学报(自然科学版)》2018年第03期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号