本篇文章为大家展示了如何使用ML.NET实现基于RFM模型的客户价值分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在众多的客户价值分析模型中,RFM模型是被广泛应用的,尤其在零售和企业服务领域堪称经典的分类手段。它的核心定义从基本的交易数据中来,借助恰当的聚类算法,反映出对客户较为直观的分类指示,对于没有数据分析和机器学习技术支撑的初创企业,它是简单易上手的客户分析途径之一。RFM模型主要有三项指标:Recency:最近消费时间间隔Frequency:消费频率Monetary:消费金额我们为客户在这三项指标上进行打分,那么总共会有27种组合的可能,使用K-Means算法,能够缩减到指定的有限数量的分箱(一般会为5类),计算出每个客户在分箱的位置即客户的价值。当然RFM模型还有更多衍生版本,可以参考WiKi:RFM (customer value)。ML.NET自v0.2版本就提供了K-Means++ clustering的实现,也是非监督学习最常见的训练,正好适用于为RFM模型的分类执行机器学习。Visual Studio 2017 或者 Visual Studio CodeDotNet Core 2.0+ML.NET v0.3本案例数据来自UCI:Online Retail,这是一个跨国数据集,其中包含2010年12月1日至2011年12月9日期间在英国注册的非商店在线零售业务中发生的所有交易。该公司主要销售独特的全场礼品。该公司的许多客户都是批发商。属性信息:InvoiceNo:发票编号。标称值,为每个事务唯一分配的6位整数。如果此代码以字母’c’开头,则表示取消。StockCode:产品(项目)代码。标称值,为每个不同的产品唯一分配的5位整数。Description:产品(项目)名称。标称。Quantity:每笔交易的每件产品(项目)的数量。数字。InvoiceDate:发票日期和时间。数字,生成每个事务的日期和时间。UnitPrice:单价。数字,英镑单位产品价格。CustomerID:客户编号。标称值,为每个客户唯一分配的5位整数。Country:国家名称。每个客户所在国家/地区的名称。使用Excel,对原始数据增加4个字段,分别是Amount(金额,单价与数量相乘的结果)、Date(InvoiceDate的整数值)、Today(当天日期的整数值)、DateDiff(当天与Date的差值)。建立透视图,获取每个客户在Amount上的总和,DateDiff的最大和最小值,并且通过计算公式Amount/(DateDiff最大值-DateDiff最小值+1)
算出频率值。按照以下规则计算RFM的评分R:(DateDiff最大值- DateDiff最小值-2000)
的差值,小于480计3分,480-570之间计2分,570-750之间计1分,大于750计0分。F:频率值,大于1000计5分,500-1000之间计4分,100-500之间计3分,50-100之间计2分,0-50之间计1分,小于0计0分。
M:Amount总和值,大于10000计5分,5000-10000之间计4分,2000-5000之间计3分,1000-2000之间计2分,0-1000 香港云主机之间计1分,小于0计0分。还是熟悉的味道,创建DotNet Core控制台应用程序,通过Nuget添加对ML.NET的引用。创建用于学习的数据结构训练部分评估部分预测部分调用部分运行结果可以看到,我用于测试的客户,被分到了第2类上面。这个简单的案例为大家展示了使用ML.NET完成聚类的机器学习。对于想要上手针对自己公司的业务,进行一些门槛较低的客户分析,使用ML.NET将是一个不错的选择。当然ML.NET还在不断迭代中,希望大家持续关注新的特性功能发布。上述内容就是如何使用ML.NET实现基于RFM模型的客户价值分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注开发云行业资讯频道。
maven的依赖特性以及冲突解决是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.1 依赖范围 -scope标签maven在构建过程有3套classpath,我们会根据配置依赖的范围 依…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。