芍药居做网站公司,北京平面设计公司排行榜,宁国做网站,文化建设意义RFM模型在众多的客户价值分析模型中#xff0c;RFM模型是被广泛应用的#xff0c;尤其在零售和企业服务领域堪称经典的分类手段。它的核心定义从基本的交易数据中来#xff0c;借助恰当的聚类算法#xff0c;反映出对客户较为直观的分类指示#xff0c;对于没有数据分析和… RFM模型在众多的客户价值分析模型中RFM模型是被广泛应用的尤其在零售和企业服务领域堪称经典的分类手段。它的核心定义从基本的交易数据中来借助恰当的聚类算法反映出对客户较为直观的分类指示对于没有数据分析和机器学习技术支撑的初创企业它是简单易上手的客户分析途径之一。RFM模型主要有三项指标Recency最近消费时间间隔Frequency消费频率Monetary消费金额我们为客户在这三项指标上进行打分那么总共会有27种组合的可能使用K-Means算法能够缩减到指定的有限数量的分箱一般会为5类计算出每个客户在分箱的位置即客户的价值。当然RFM模型还有更多衍生版本可以参考WiKiRFM (customer value)。ML.NET和K-MeansML.NET自v0.2版本就提供了K-Means clustering的实现也是非监督学习最常见的训练正好适用于为RFM模型的分类执行机器学习。动手实践基本要求Visual Studio 2017 或者 Visual Studio CodeDotNet Core 2.0ML.NET v0.3数据来源本案例数据来自UCIOnline Retail这是一个跨国数据集其中包含2010年12月1日至2011年12月9日期间在英国注册的非商店在线零售业务中发生的所有交易。该公司主要销售独特的全场礼品。该公司的许多客户都是批发商。属性信息InvoiceNo发票编号。标称值为每个事务唯一分配的6位整数。如果此代码以字母c开头则表示取消。StockCode产品项目代码。标称值为每个不同的产品唯一分配的5位整数。Description产品项目名称。标称。Quantity每笔交易的每件产品项目的数量。数字。InvoiceDate发票日期和时间。数字生成每个事务的日期和时间。UnitPrice单价。数字英镑单位产品价格。CustomerID客户编号。标称值为每个客户唯一分配的5位整数。Country国家名称。每个客户所在国家/地区的名称。数据处理使用Excel对原始数据增加4个字段分别是Amount金额单价与数量相乘的结果、DateInvoiceDate的整数值、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分。MAmount总和值大于10000计5分5000-10000之间计4分2000-5000之间计3分1000-2000之间计2分0-1000之间计1分小于0计0分。有小伙伴可能存在疑问为什么要这么划分其实这就是对数据分布合理分段的一种思想为了减小数据源的不平衡性对机器学习的影响我们尽量使得数据的分布是自然的。编码部分还是熟悉的味道创建DotNet Core控制台应用程序通过Nuget添加对ML.NET的引用。创建用于学习的数据结构训练部分评估部分预测部分调用部分运行结果可以看到我用于测试的客户被分到了第2类上面。尽管完成了聚类的工作对于学习出来的这5个类别仍然需要按原始数据集全部遍历预测出对应的分类根据客户的RFM评分与分类的对应关系才能够对每个类别的意义进行有效地解释。结尾这个简单的案例为大家展示了使用ML.NET完成聚类的机器学习。对于想要上手针对自己公司的业务进行一些门槛较低的客户分析使用ML.NET将是一个不错的选择。当然ML.NET还在不断迭代中希望大家持续关注新的特性功能发布。原文地址https://www.cnblogs.com/BeanHsiang/p/9438581.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com