Py学习  »  机器学习算法

机器学习真实案例研究:基于文本描述的交易聚类

数据分析 • 3 年前 • 250 次点击  
作者:Ravindra Reddy Tamma 翻译:方星轩. 校对:欧阳锦

本文约2200字,建议阅读5分钟。

本文为大家介绍了在日常的电子交易中对用户的交易信息进行聚类分析和建模,提供了用户分析的思路和建议。


我们正生活在数字技术时代。还记得你上次去到没有PayTM或BHIM UPI的商店是什么时候吗?很显然,这些数字交易技术已迅速成为我们日常生活的关键部分。

数字技术不仅是个人,也是各大金融机构的核心。依托着可靠的后台运行系统,执行多种选项的支付交易或资金转帐(例如,网上银行,ATM,信用卡或借记卡,UPI,POS机等)是一件非常顺利的事。

对于我们进行的每笔交易,都会针对它生成一个适当的描述消息,如下所示:


在本文中,我们将讨论一个金融机构的实际使用案例,该案例使用-聚类clustering(一种流行的机器学习算法)来为其客户群定制其产品。


本案例研究的动机

作为一家金融机构,始终根据客户的兴趣为他们量身定制报价,并以此来吸引现有客户群是很重要的事。对于任何金融机构而言,把握全方位的客户信息是一项重大挑战。

Twitter,WhatsApp,Facebook等社交媒体平台已成为描述客户兴趣和偏好的主要信息来源。金融机构使用第三方来源的数据通常会付出巨大的成本。即使如此,将社交媒体帐户映射到每一个客户也非常困难。

那么我们该如何解决呢?


“A partial solution to the above problem can be addressed by using in-house transaction data available with the institution”


“上述问题的部分解决方案可以通过使用该机构提供的内部交易数据来解决”

我们可以根据交易描述消息将客户执行的交易分为不同的类别。此方法可用于标记是否进行了食品,运动,衣服,账单支付,家庭,其他等类别的交易。如果客户的大部分交易都出现在特定类别中,那么我们可以对他/她的交易偏好有更好的预估。

这是我们采取的方法

来了解我们如何处理此问题,并为之找出解决方案时而采取的关键步骤吧。

  • 确定主题数量


我们从所有交易开始,将其描述消息映射到每个客户。首先,我们有一项重要的任务,即确定集群(clusters)(或)类别(catergories)(或)主题(topics)的数量。为了实现这个目标,我们使用主题建模( Topic Modelling)。

Topic Modelling

https://www.analyticsvidhya.com/blog/2018/10/stepwise-guide-topic-modeling-latent-semantic-analysis/


主题建模是一种对文档进行无监督分类的方法,即便我们不确定要查找的内容,它也可以找到适合的项目组。它主要使用狄利克雷分布(LDA)来拟合主题模型。

它将每个文档(即交易)视为主题的混合,而将每个主题视为文字的混合。举个例子:预算一词可能出现在电影主题和政治主题中。该LDA的基本假设是,样本中的每个观察值来自可以被生成统计模型解释的任意未知分布中。

主题建模可以解决我们的问题。这里有一种生成统计模型,该统计模型已经生成了交易描述中的所有文字,这些文字来自未知的任意分布(即未知的组或主题)。我们尝试估计/建立一个统计模型,以便预测一个单词属于特定主题的概率。


  • 主题连贯


我们已经通过手动查看各个主题中的热门关键字来确定主题总数,这可能有点主题不一致,而且我们还需要一种主观的方法来评估正确的主题数量。那么,我们使用主题连贯性( Topic Coherence)来确定正确的主题数。

Topic Coherence

https://rare-technologies.com/what-is-topic-coherence/


主题连贯性应用于该主题的前N个单词。它被定义为主题中单词的成对相似度得分的平均值/中位数。好的模型会产生连贯的主题,即主题连贯得分高的主题。

好的主题是可以用短标签描述的。因此,这就是主题一致性方法所捕获的内容:


是时候聚类了!

我们已经确定了主题/群集的总数(在我们的案例中为7个主题)。我们应该开始将每个交易描述消息分配给主题。在将文档分配给主题时,仅依靠主题建模可能无法产生准确的结果。


在这里,我们使用主题建模的输出以及其他一些功能,使用 K-Means clustering对交易描述消息进行聚类,我们将主要为K-Means集群构建功能集。


K-Means clustering

https://www.analyticsvidhya.com/blog/2019/08/comprehensive-guide-k-means-clustering/


特征:

  • 基本特征


- 字数,位数,特殊符号数

- 最长数字序列长度,数字-字符比

- 平均,最长字长等

- 交易的周,日和月,当前日期,周末交易等

- 每月最后5天或每月前5天执行的交易

- 公众假期和节日交易等

 

  • 查找功能–使用行业中的顶级品牌和常用名词作为查找名称。计算与特定行业相关的交易描述中的单词数。


- 食品:蔬菜,多米诺骨牌Dominos(披萨品牌),FreshDirect(美国的在线食品杂货商),赛百味等

- 体育:棒球,阿迪达斯,足球,防滑钉等

- 卫生:药房,医院,体育馆等

- Bill&EMI:政策,能源,声明,时间表,取款,电话等。

- 娱乐:Netflix,Prime节目,Spotify,Soundcloud,酒吧

- 电子商务:亚马逊,沃尔玛,eBay,Ticketmaster等

 
  • 其他:Uber,Airbus,打包机等


主题建模功能

对使用TF-IDF方法生成的DTM矩阵的一元模型和二元模型执行主题建模。对于每个主题的交易描述的unigram一元模型和bigram 二元模型DTM矩阵,我们使其获得2组7种的不同概率。

 
最后的想法

每个交易描述大约有30个功能,我们执行K-Means聚类将每个交易描述分配给7个集群之一。


结果表明,聚类中心附近的观测结果大多标有正确的主题。少量错误的主题标签被分配在距离聚类中心较远的观察点。在手动查看的350个交易描述中,大约240个(准确率为69%)交易描述已正确标记了适当的主题。


现在,我们至少可以对内部客户的偏好和兴趣进行基本估算。我们可以通过发送定制的要约和选项使内部客户参与并改善业务。


尽管使用主题建模的方法相对新颖,实际上,大多数的信用卡的发行商都会使用对客户交易的兴趣进行分类。例如,美国运通公司一直在使用这种方法为其客户创建兴趣图。这样的兴趣图不仅将交易分为食物,旅行等主要类别,而且还创建了诸如泰国美食迷,野生动物爱好者等的细分。所有这些分类都仅仅基于交易数据的丰富性!


关于作者


Ravindra Reddy Tamma –数据科学家(Actify数据实验室)


Ravindra是Actify Data Labs的机器学习专家。他的专长包括信用风险分析,应用程序欺诈建模,OCR,文本挖掘以及将模型部署为API。他与贷方广泛合作,以开发应用程序,行为和收款记分卡。


Ravindra还使用非结构化征信机构标头信息为印度的无抵押贷款开发了国家级应用程序欺诈模型。除信用风险外,Ravindra在OCR,图像分析和文本挖掘方面拥有深厚的专业知识。Ravindra还在自动化生产数据管道和将机器学习模型部署为可扩展的API方面具有丰富的专业知识。


原本标题:
Real-World Machine Learning Case Study: Clustering Transactions Based on Text Descriptions

译者简介:方星轩,美国东北大学数据分析研究生在读,本科毕业于美国莫瑞州立大学商学院。对利用数据来进行市场和企业内的分析有着浓厚的兴趣,对机器学习AI领域充满好奇。喜欢篮球,吉他,旅行,希望能够结交朋友分享故事,拓宽视野,客观的看待世事万物。

转自:数据派THU 公众号;

版权声明:本号内容部分来自互联网,转载请注明原文链接和作者,如有侵权或出处有误请和我们联系。

END

合作请加QQ:365242293  

数据分析(ID : ecshujufenxi )互联网科技与数据圈自己的微信,也是WeMedia自媒体联盟成员之一,WeMedia联盟覆盖5000万人群。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/72420
 
250 次点击