机器学习中的关联规则分析

简介: 在一组数据中找到某种内在联系,举个例子:在国外的某家超市,工作人员发现牛奶、啤酒、尿布经常在男性的账单中出现,看似风马牛不相及的事情,但确实就发生了,后来超市采取三者放在比较近的地方以提高销售量,事实证明他们真的成功了,其实是劳累了一天的爸爸在买孩子尿布的时候顺便买了啤酒,本质上是有因果关系的。所以关联分析就是通过数据分析出隐藏的关系的一种机器学习方法。

一、关联规则的背景

在一组数据中找到某种内在联系,举个例子:在国外的某家超市,工作人员发现牛奶、啤酒、尿布经常在男性的账单中出现,看似风马牛不相及的事情,但确实就发生了,后来超市采取三者放在比较近的地方以提高销售量,事实证明他们真的成功了,其实是劳累了一天的爸爸在买孩子尿布的时候顺便买了啤酒,本质上是有因果关系的。所以关联分析就是通过数据分析出隐藏的关系的一种机器学习方法。

二、基本概念

  • 项集

    由一个或者多个项组成的集合,例如: {牛奶, 面包, 尿布}

  • 支持数($\sigma$)

    一个项集出现的次数,例如:$\sigma$({牛奶, 面包, 尿布}) = 2

  • 支持度

    包含项集的记录占总记录的比例

    $S(x) = \sigma(x)/N$

  • 频繁项集

    支持度大于最小支持度阈值的项集

三、关联规则的产生

1.定义

$X->Y$

X到Y是不相交的项集

例子: {牛奶, 尿布}-> {啤酒}

2.满足的条件

  • 支持度

​ 包含项集X和Y的记录数占总记录数的比例

​ S(X->Y) = $\sigma{(X\cup Y)}/N$

  • 置信度

    包含项集X和Y的记录数占项集X的支持数

需要满足支持度和置信度都大于给定的最小阈值

3.寻找关联规则的策略

关联规则的寻找也可以采用枚举的办法找到

  • 寻找频繁项集

    支持度大等于最小支持度阀值的项集

  • 寻找支持度和置信度满足条件的规则

    在满足频繁项集的基础上满足置信度也大于等于最小置信度的规则

4.频繁项集的产生

减少候选项集的数目

  • 先验原理

    项集是频繁的,则它的子集也是频繁的

    反之,如果项集是非频繁的,则超集(父集)也是非频繁的

    支持度的反单调性:项集的支持度不大于子集的支持度

  • Apriori算法

    利用剪枝技术进行实现,开始假设每个项都是一个关联规则,然后计算支持度,不满足要求的这个项直接去掉,实现剪枝的目的

    然后再增加一个项,将剩余的满足条件的项进行组合,得到一个所有可能的组合表,可能产生的候选集比较多,可以采用特殊的数据结构进行处理,然后对两个项的规则再次计算支持度,最后也利用最小支持度进行剪枝,反复进行,直至达到预期的规则,此时就产生了一个频繁项集

减少比较次数

可将候选集合存储再一个hash表中以减少比较次数

5.产生规则

由同一个频繁项集可以产生多种不同的规则,对这些产生的规则进行置信度的计算,选择一个比较高的作为关联规则学习的结果,例如

{牛奶, 尿布}-> {啤酒} c~1~ = 66.7%

{牛奶, 啤酒}-> {尿布} c~2~ = 50%

{啤酒, 尿布}-> {牛奶} c~3~ = 100%

选择c~3~更加合适

目录
相关文章
|
3月前
|
机器学习/深度学习 资源调度
【机器学习】归一化目的分析
【1月更文挑战第27天】【机器学习】归一化目的分析
|
1月前
|
机器学习/深度学习 算法 数据可视化
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
101 1
|
3月前
|
机器学习/深度学习
【机器学习】误差分析
【1月更文挑战第23天】【机器学习】误差分析
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
大数据分析的技术和方法:从深度学习到机器学习
大数据时代的到来,让数据分析成为了企业和组织中不可或缺的一环。如何高效地处理庞大的数据集并且从中发现潜在的价值是每个数据分析师都需要掌握的技能。本文将介绍大数据分析的技术和方法,包括深度学习、机器学习、数据挖掘等方面的应用,以及如何通过这些技术和方法来解决实际问题。
52 2
|
22小时前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
15 1
|
7天前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
11 0
|
1月前
|
机器学习/深度学习 算法 数据可视化
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
32 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
机器学习——主成分分析(PCA)
机器学习——主成分分析(PCA)
26 0
|
2月前
|
机器学习/深度学习 数据采集 自然语言处理
编写员工聊天监控软件的机器学习模块:Scikit-learn在行为分析中的应用
随着企业对员工行为监控的需求增加,开发一种能够自动分析员工聊天内容并检测异常行为的软件变得愈发重要。本文介绍了如何使用机器学习模块Scikit-learn来构建这样一个模块,并将其嵌入到员工聊天监控软件中。
161 3
|
2月前
|
机器学习/深度学习 自然语言处理 JavaScript
GEE机器学习——最大熵分类器案例分析(JavaScript和python代码)
GEE机器学习——最大熵分类器案例分析(JavaScript和python代码)
41 0