找回密码
 立即注册
搜索
查看: 149|回复: 0

Python数据分析工具选择指南:关联分析在市场篮子分析中的应用

[复制链接]

2万

主题

0

回帖

6万

积分

管理员

积分
60588
发表于 2024-12-5 14:51:39 | 显示全部楼层 |阅读模式
部落()组织翻译。禁止转载,但欢迎转发。

前言

分析师有很多数据分析工具,但了解在特定情况下使用哪种数据分析工具可能非常具有挑战性。一种有用的(但有些被忽视的)技术称为相关分析,它试图找到事物在大数据集中工作的常见模式。一个具体的应用是购物篮分析,典型的例子是“啤酒和尿布”。其基本思想是,大型零售商可以挖掘人们的交易数据,发现购买啤酒和婴儿尿布的人们意想不到的购买模式。

不幸的是,这个案例很可能成为数据领域的一个传奇。然而,它是数据挖掘付诸实践的经典例证。虽然这些数据通常用于查看销售交易,但一些基本分析也可以应用于其他情况,例如点击流跟踪、备件订购和在线推荐引擎。

如果您对数据科学世界有一些基本的了解,也许您的第一个想法是使用 -learn 来实现现成的算法。但是,-learn 不支持该算法。然而,开发的库可用于提取复杂的数据以进行进一步的数据分析。

本文的其余部分演示了使用该库分析在线零售数据集并尝试找到有趣的购买组合的示例。读完本文后,您应该熟悉将其应用于您自己的数据集的基本方法。

为什么要进行相关性分析?

当今世界,有许多复杂的数据分析方法(聚类、回归、神经网络、随机森林、SVM 等)。这些方法的困难在于它们需要大量的数据准备和功能特征才能获得良好的结果。换句话说,它们可以非常强大,但需要大量知识才能完成。

数据相关性分析的数学概念非常容易理解,并且很容易向非技术人员解释。此外,它是一种无监督学习工具,可以发现隐藏的模式,因此需要较少的数据准备和功能特性。这对于一些数据探索案例来说是一个很好的开始,并且可以使用其他方法来更深入地挖掘数据。

另外,对于经常使用 -learn 和 的人来说, 中的代码非常容易理解。综上所述,我认为这是一个非常有用的工具,可以帮助您熟悉并帮助您解决数据分析问题。

一个简单的说法 - 从技术上讲,购物篮分析只是相关性分析的一种应用,本文将互换使用术语相关性分析和购物篮分析。

相关分析101

有几个术语对于理解相关性分析非常重要。这里的内容对于那些想要了解其背后的数学原理和算法细节的人来说是一个很好的参考。

关联规则通常如下:{尿布} -> {啤酒},表示在同一笔交易中购买尿布和购买啤酒的客户之间存在强关系。

在上面的示例中,{} 是先行词,{beer} 是结果。前因和后果可以有多个项目。换句话说,{尿布,胶囊} -> {啤酒,薯片}是一条有效的规则。

支持用于确定规则可用于给定数据集的频率。在许多情况下,您可能希望寻求高水平的支持,以确保这是一种有用的关系。然而,在“隐藏”的关系中,可能会出现低支持的情况。

置信度是衡量规则可靠性的指标。上例中的置信度为 0.5 意味着在购买尿布和胶囊的情况下,有 50% 的概率购买啤酒和薯条。对于产品推荐来说,50% 的置信度可能是完全可以接受的,但在医学领域,它仍然有点低。

提升力是两个独立规则之间的支持比。基本经验法则是,升力接近 1 意味着规则完全独立。升力大于 1 可以指示有用的规则模式。



最后一点与数据有关。此分析要求交易的所有数据都包含在1行中,并且该项目应该是有效的代码。详细内容请参见文档示例:

本文的具体数据来自 UCI 机器学习存储库,代表 2010-2011 年英国零售商交易数据。这主要代表对批发商的销售,因此与消费者的购买模式略有不同,但它仍然是一个有用的案例研究。

代码

它可以使用 pip 安装,这需要在尝试执行以下代码之前完成。安装后,下面的代码显示了如何运行它。详细过程我已经记录下来了。

首先导入并读取数据:

在开始之前做一些处理。删除一些不含发票号码的描述性空格和行,并删除信用交易(发票号码包含C)。

完成后,我们需要对每个产品进行一位有效的编码,将每个项目合并到一个交易中。为了保持数据集较小,我只查看法国的销售额。但是,在下面的其他代码中,我将这些结果与德国的销售额进行了比较。与其他国家的进一步比较值得研究。

下面是前几列的样子(请注意,我在列中添加了一些数字来说明概念 - 本示例中的实际数据全为 0):

数据中有很多零,但是我们需要确保任何正值都转换为1,小于0的值都设置为0。这一步将完成数据的一位编码并删除邮资栏(因为收费不是我们想要讨论的内容):

现在数据结构是正确的,我们可以生成支持至少 7% 的频繁项集(使用这个数字以便我可以获得足够的实例):

最后一步是生成相应的支持度、置信度和提升度规则。



这就是全部,用于表示频繁项和构建规则。

现在,棘手的部分是弄清楚这告诉我们什么。例如,我们可以看到有很多具有高升力的规则,这意味着它发生的频率比交易和产品组合数量的预期要高。我们还可以看到几个地方的置信度也非常高。这部分的分析需要专业知识来帮忙,但我没有这方面的知识,只是想找几个说明性的例子。

我们可以使用标准代码来过滤数据。在这种情况下,寻找大升力 (6) 和高置信度 (.8):

看规则,好像绿色和红色的闹钟是一起购买的,红色的纸杯、餐巾纸、纸板是一起购买的,这样整体概率就增加了。

此时,您可能想知道我们有多少机会通过推荐相关产品来促进产品销售。例如,我们可以看到绿色闹钟售出了 340 个,但红色闹钟只售出了 316 个,那么我们是否可以通过推荐来带动更多红色闹钟的销售?

有趣的是,国家的变化会影响购买组合。我们来看看德国流行的组合有哪些?

看来除了大卫之外,德国人都喜欢和。

在正式项目中,熟悉数据的分析师可能会提出十几个不同的问题。我没有将这个分析复制到其他国家或客户组合,但是有了上面的基本代码,其他分析过程就很容易完成。

总结

相关性分析的优点之一是它易于运行并且相对容易解释。如果您无法实施和关联分析,那么使用基本的 Excel 分析来查找这些模式将非常困难。使用 和 的分析过程相对简单,并且在 中,您可以访问生态系统中的所有其他可视化技术和数据分析工具。

最后,我建议您查看图书馆的其余部分。如果您正在使用 sci-kit,请了解如何熟悉以及如何添加数据科学工具包中的一些现有工具。

英文原文:

译者:陈先生
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【智道时空】 ( 京ICP备20013102号-16 )

GMT+8, 2025-5-7 12:35 , Processed in 0.063871 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表