关联分析

关联分析--功能、算法和应用

Tim Filzinger

数据早已成为我们这个时代最宝贵的资源之一。然而,只有认识到往往隐藏的相关性并得出正确的结论,才能实现这一价值。由于这是一项高度复杂的工作,计算机科学和统计学领域出现了一个跨学科的研究领域:数据挖掘利用各种计算机辅助方法来揭开数据宝库的秘密。所谓关联分析,就是利用一些令人惊讶的简单原理,特别成功。

什么是关联分析?

关联分析是一种数据挖掘方法,用于识别数据库中对象之间的关联。根据频率,它可用于确定不同的组合是否以一定的概率出现。其最终目的是建立关联规则,通常可以用简单的 if-then 句子(X → Y)来表示。而方差分析等其他方法则更关注数字属性和目标值。 

关联分析在很大程度上可以利用各种算法实现自动化。由于这涉及计算机控制的数据分析以及由此得出的决策或预测,因此需要 机器学习 经典意义上的 "购物篮分析"。这种技术起源于购物篮分析,即分析购买决策之间的关系。这仍然是当今最常见的使用案例,并将越来越多地在此作为范例。不过,这一原理后来已扩展到其他数据结构。

重要基本术语

关联分析基础

第一步是定义一些基本术语和关键数字。它们之间的数学和逻辑联系最终构成了关联分析的实际过程。

项目: 这些是关联分析所分析关系的群体中的对象。对于超市中的商品来说,这通常涉及 10,000 多个单位。然而,对于亚马逊等电子商务提供商来说,分析包含数亿件产品的购物篮很快就会成为一个大数据项目。

项目设置: 这是指物品的组合--通常表示这些物品以一定的频率一起出现或被购买(如{牛奶、面包、黄油})。集合的频率也决定了能否从中得出关联规则。

支持。 比绝对频率更有意义的是其与所有交易的比率,即相对频率。在二元判定一个项目集是否被认为是频繁的时候,相应的阈值为 最低限度的支持 设置。

自信: 这个关键数字对应的是不同项目集在一起出现或在交易中出现的相对频率。要计算置信度,需要用关联分析中单个项目的频率除以项目集的频率(或其支持率)。这样得出的数值最大为 1,在这种情况下只有共同的交易。

电梯: 并非每条关联规则都具有很高的信息含量。为了映射这一点,一条规则的置信度要除以预期置信度值。这就产生了一个度量指标,用于显示基于数据的发现是否具有特殊相关性。提升值为 1 意味着该规则符合统计预期。提升值越高,说明已建立的相关性越显著。

推导关联规则

所示的所有关键数字最终都用于推导出有意义的关联规则。其典型形式为 X → Y(支持、信心),从而表示项目 Y 将被添加到项目 X 中的概率。在语言上,这可以用 "如果(前提)......那么(结果)"这样的假设来表达。为了实现关联分析的这一目标,有必要在项目集结构化数据集的基础上采取几个步骤。

  1. 识别频繁项目集

    每条规则都以一个怀疑或假设开始。为此,可以对各种项目集进行简单的频率统计,也可以根据现有交易/项目集的部分内容进行统计。如果除了一定的频率外,还存在较高的 支持 之前, 证实了 X → Y 的猜测。这样,算法就能过滤掉尽可能多的明显项目集。

  2. 审查规则

    ǞǞǞ 信心 现在形成了下一个分析实例,并揭示了规则的更多准确性。在这里,您可以再次进行分类,只保留置信度与数值 1 相差较小的相关性。建立规则并不意味着它与计划的调查相关。

  3. 评估和应用规则

    剩下的就是与之前定义的指标相对应的关联规则了。不过,通常情况下,人们从一开始就能意识到一些相关性,因此只有意外的高效应强度才会带来知识的增长。对于这种评估, 电梯、 这只是将置信度与预期值进行比较。如果超出预期,则可对业务流程、库存或供应链进行相应调整。

示例

下面的购物篮清单是在一家超市交易的结果:

交易 ID项目
1面包、牛奶
2面包、鸡蛋、啤酒
3牛奶、鸡蛋、可乐
4面包、牛奶、鸡蛋、啤酒
5面包、牛奶、鸡蛋、可乐

即使是简单的频率统计,也能显示出物品集 {面包、牛奶} 出现的频率相当高,即每五次交易中就有三次出现。最小支持度为 Smin=50%。

{面包、牛奶}的支持度 S = ⅗ = 60% > 50%。因此,实际上存在一个值得研究的频率。因此,我们假设规则为面包 → 牛奶(60%,C%)。置信度 C 仍然未知。

我们要改变这种情况,用{面包、牛奶}的支持率除以{面包}的支持率:C = 60% / 80% = 75%。因此,完整的关联规则是 面包 → 牛奶(60%、75%).这似乎很有说服力,因为四分之三的面包购买者都会同时购买牛奶。

为了采取措施提高销售额,超市经营者只希望考虑最有意义的规则。面包和牛奶这两种商品经常一起出现在收银传送带上,因此假设可信度为 60%。由此得出 电梯 L = 75% / 60% = 1.25 > 1.面包架向牛奶方向移动的时间。

三种常见算法

当然,现实生活中的应用要复杂得多,很难通过这种手工计算来解决。因此,关联分析通常采用适当的算法。这样可以分析大量数据,更不用说大量项目集之间的相关性了。

Apriori

Apriori 算法是最早的同类算法之一,至今仍被频繁使用。这主要归功于其简单的处理和实现。除数据库外,唯一必要的输入是 最低限度的支持最低信任度。 根据所述程序,该程序可识别数据中的所有频繁项目集,并筛选出与输入相匹配的规则。这里的一个特点是考虑了所谓的先验原则。该原则指出,频繁项目集只包含频繁项目。如果情况并非如此,程序就会使用所谓的 "先验原则 "来清理数据。 修剪从而优化选择质量。

FP-Growth

作为 Apriori 的进一步发展,FP-Growth 能够应对快速增长的数据量,并提高可扩展性和速度。不过,其副作用是应用更加复杂。原始项目集采用所谓的 FP树,其连接节点各代表一个项目。这种压缩方式在数据收集和存储方面具有优势,而使用 Apriori 则需要进行无数次扫描。交易的匹配项目集都有一个共同的前缀,作为树的分支。这有助于算法最终过滤掉所有频繁出现的模式。

拉加经委会

等价类聚类和自下而上的网格遍历 是另一种现代算法,与 FP-Growth 相比毫不逊色。它也分析独立生成的数据集,而不是重复扫描原始数据。这是一种 垂直 格式,即在左边的表格中列出项目,在右边分配相应的交易。这些所谓的 辅助工具 经 ECLAT 分析后,形成具有新的匹配数据集的项目对。这些数据集所包含的共同交易越多,项目之间就越有可能存在联系。

关联分析用例

应用领域

在这一点上,该方法最常见的应用案例不足为奇:整个零售业都在使用关联规则来分析购物篮,以促进购买决策并通过交叉销售增加销售额。然而,这绝不是基于规则的数据挖掘的唯一优势。以下应用领域尤其受益于关联分析:

医学

人们最初往往并不清楚哪些特征可能是某种疾病的风险因素或指标。在基于健康数据的关联规则的帮助下,可以促进诊断和预防。将上述算法与 自然语言处理 印度研究人员展示了如何提取这种联系。

用户体验设计

用户体验是网站和其他数字产品的一个重要方面。其目的是使应用和导航尽可能令人愉悦和简单,以便用户准确找到他们想要的东西。根据历史使用数据进行关联分析,例如调整按钮和链接,可以使这一点变得更加容易。毕竟,如果通往网店的路径过于复杂,购物篮分析又有什么用呢?

仓库管理

在大型仓库中,物品的位置对公司的效率起着决定性作用。大宗订单最好能尽快处理完毕,这同样适用于经常需要的货物和经常出现的序列。Apriori 算法和类似算法可以在最大限度地缩短处理距离方面发挥重要作用。

利用 Konfuzio 为数据挖掘提供智能支持

数据挖掘的应用范围非常广泛,几乎所有具有一定规模的公司都能从中受益。不过,关联分析等方法首先需要一个高度结构化和高质量的数据库。起点往往不同:图像和文本文件、电子邮件、PDF 文件等是许多流程的特征。这就是为什么 人工智能平台 Konfuzio 在所有必要步骤中为公司提供支持,直至获得有效的知识。

  1. 提取和构建数据

Konfuzio 知道如何使用不同的技术方法处理所有这些格式。其中包括 文本识别, 图像处理a 提取电子邮件的低代码集成 等等。包含的数据会被准确提取、清理并准备成结构化文件。这为数据挖掘奠定了宝贵的基础。

  1. 数据分析和处理

随后,Konfuzio 可以利用人工智能和数据挖掘的概念,对获得的数据进行高度自动化的分析。各种集成 机型 和算法。提取的信息还可以迁移到外部工具,以便进行高度个性化的(关联)分析。

总结

借助关联分析,可以简单地确定对象、项目或物品之间的关系。其中的关键因素是不同组合出现的频率。因此,数据挖掘过程特别适用于作为购物篮分析一部分的购买分析。常用的算法有 Apriori、FP-Growth 和 ECLAT,它们还可用于基于结构化数据的其他各种应用。这些算法还可用于基于结构化数据的其他各种应用,从而产生有利于可持续节约资源或提高销售额的见解。

您想了解更多有关数据挖掘、这些流程对公司的益处以及 Konfuzio 如何陪伴您走过这段旅程的信息吗?请给我们留言。

    关于我

    更多精彩文章

    在线市场 Konfuzio

    Konfuzio 市场现已上线!

    无论您是已经在营销人工智能解决方案和产品,还是拥有开发这些解决方案的专业知识,或者只是想参与到这一日益增长的行业中来,您都可以在这里找到自己的机会。

    阅读故事
    神经网络

    反向传播:训练神经网络的关键

    为了提高人工神经网络的准确性,反向传播是最重要的监督学习方法之一。它在数学上基于...

    阅读故事
    自主的人工智能

    了解自主人工智能:利与弊

    什么是自主人工智能?自主人工智能被定义为一种可以在没有人类干预的情况下执行任务的人工智能。

    阅读故事
    箭头向上