【数据挖掘】关联模式评估方法及Apriori算法超市购物应用实战(超详细 附源码)

简介: 【数据挖掘】关联模式评估方法及Apriori算法超市购物应用实战(超详细 附源码)

需要源码请点赞关注收藏后评论区留言私信~~~

大部分关联规则挖掘算法都使用支持度-置信度框架。尽管最小支持度和置信度阈值可以排除大量无趣规则的探查,但仍然会有一些用户不感兴趣的规则存在。当使用低支持度阈值挖掘或挖掘长模式时,这种情况尤为严重

强关联规则不一定是有趣的,并且只有用户才能够评判一个给定的规则是否有趣

从关联分析到相关分析

由于支持度和置信度还不足以过滤掉无趣的关联规则,因此,可以使用相关性度量来扩展关联规则的支持度-置信度框架。相关规则框架为:

1:提升度

2:使用卡方进行检验

Apriori算法应用

在Pyhton中进行关联规则挖掘时需要用到apyori包,apyori包的安装方式为:

pip install apyori

首先导入包和相关数据 输出部分数据如下图所示

接着获取项集

返回结果result中的属性说明:

items – 项集,

frozenset对象,

可迭代取出子集;

support – 支持度,

float类型;

confidence – 置信度或可信度,

float类型;

ordered_statistics – 存在的关联规则,可迭代,迭代后

其元素的属性: items_base – 关联规则中的分母项集; confidence – 上面的分母规则所对应的关联规则的可信度

进行关联规则挖掘 输出如下

显示挖掘的关联规则 输出如下

部分代码如下

import pandas as pd
from apyori import apriori
df = pd.read_excel("data.xls")
df.head()
min_supp = 0.1  
min_conf = 0.1  
min_lift = 0.1  
result = list(apriori(transactions=transactions, min_support=min_supp, 
           min_confidence=min_conf, min_lift=min_lift))
result
supports=[]
confidences=[]
lifts=[]
bases=[]
adds=[]
for r in result:
    for x in r.ordered_statistics:
        supports.append(r.support)
        confidences.append(x.confidence)
        lifts.append(x.lift)
        bases.append(list(x.items_base))
        adds.append(list(x.items_add))
resultshow = pd.DataFrame({
    'support':supports,
    'confidence':confidences,
    'lift':lifts,
    'base':bases,
    'add':adds})

Apriori算法应用2

关联规则目前在scikit-learn中并没有实现

机器学习扩展库mlxtend

是一款高级的机器学习扩展库,可用于日常机器学习任务的主要工具,也可以作为sklearn的一个补充和辅助工具

mlxtend提供了多种分类和回归算法api,包括多层感知机、stacking分类器、逻辑回归等

使用如下命令安装

pip install mlxtend

我们以超市购物为场景来进行算法应用 计算频繁项集结果如下

结果如下

可见不同商品之间的组合关联程度不同 商家可以根据这个来调整货物的摆放

部分代码如下

mport pandas as pd
item_list = [['牛奶','面包'],
    ['面包','尿布','啤酒','土豆'],
    ['牛奶','尿布','啤酒','可乐'],
    me(item_list)
# from mlxtend.preprocessing import TransactionEncode
import mlxtend
te = mlxtend.preprocessing.TransactionEncoder()
df_tf = te.fit_transform(item_list)
df = pd.DataFrame(df_tf,columns=te.columns_)
display(df)
计算频繁项集
from mlxtend.frequent_patterns import apriori
# use_colnames=True表示使用元素名字,默认的False使用列名代表元素frequent_itemsets = apriori(df, min_support=0.05, use_colnames=True)
frequent_itemsets.sort_values(by='support', ascending=False, inplace=True)
# 选择2频繁项集
print(frequent_itemsets[frequent_itemsets.itemsets.apply(lambd

总结

关联分析是数据挖掘体系中重要的组成部分之一,其代表性的案例即为“购物篮分析”,即通过搜索经常在一起购买的商品的集合,研究顾客的购买习惯

关联规则挖掘的过程主要包含两个阶段。第一阶段必须先从事务数据集中找出所有的频繁项,第二阶段再由这些频繁项产生强关联规则。这些规则满足最小支持度和最小置信度阈值

频繁项集的挖掘方法主要有Apriori算法、基于频繁模式增长算法如FP-Growth以及利用垂直数据格式的算法

Apriori算法是最早出现的关联规则挖掘算法。它利用逐层搜索的迭代方法找出事务集中项集的关系,并形成关联规则。Apriori算法利用了“频繁项集的所有非空子集也是频繁的”这一先验性质,迭代对k项频繁集连接生成k+1项候选集并进行剪枝,得到k+1项频繁集。最后利用频繁项集构造满足最小支持度和最小置信度的规则

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
7月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
229 6
|
7月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
522 0
|
8月前
|
机器学习/深度学习 数据采集 传感器
具有多种最大功率点跟踪(MPPT)方法的光伏发电系统(P&O-增量法-人工神经网络-模糊逻辑控制-粒子群优化)之使用粒子群算法的最大功率点追踪(MPPT)(Simulink仿真实现)
具有多种最大功率点跟踪(MPPT)方法的光伏发电系统(P&O-增量法-人工神经网络-模糊逻辑控制-粒子群优化)之使用粒子群算法的最大功率点追踪(MPPT)(Simulink仿真实现)
528 0
|
11月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
6月前
|
算法 数据可视化 测试技术
HNSW算法实战:用分层图索引替换k-NN暴力搜索
HNSW是一种高效向量检索算法,通过分层图结构实现近似最近邻的对数时间搜索,显著降低查询延迟。相比暴力搜索,它在保持高召回率的同时,将性能提升数十倍,广泛应用于大规模RAG系统。
530 10
HNSW算法实战:用分层图索引替换k-NN暴力搜索
|
12月前
|
机器学习/深度学习 运维 算法
从算法菜鸟到挖掘达人:数据挖掘的算法大冒险
从算法菜鸟到挖掘达人:数据挖掘的算法大冒险
383 18
|
6月前
|
机器学习/深度学习 缓存 算法
微店关键词搜索接口核心突破:动态权重算法与语义引擎的实战落地
本文详解微店搜索接口从基础匹配到智能推荐的技术进阶路径,涵盖动态权重、语义理解与行为闭环三大创新,助力商家提升搜索转化率、商品曝光与用户留存,实现技术驱动的业绩增长。
|
6月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
297 0
|
7月前
|
机器学习/深度学习 资源调度 算法
遗传算法模型深度解析与实战应用
摘要 遗传算法(GA)作为一种受生物进化启发的优化算法,在复杂问题求解中展现出独特优势。本文系统介绍了GA的核心理论、实现细节和应用经验。算法通过模拟自然选择机制,利用选择、交叉、变异三大操作在解空间中进行全局搜索。与梯度下降等传统方法相比,GA不依赖目标函数的连续性或可微性,特别适合处理离散优化、多目标优化等复杂问题。文中详细阐述了染色体编码、适应度函数设计、遗传操作实现等关键技术,并提供了Python代码实现示例。实践表明,GA的成功应用关键在于平衡探索与开发,通过精心调参维持种群多样性同时确保收敛效率

热门文章

最新文章