数据分析-关联规则-Apriori
目录
关联规则
衡量标准
支持度
置信度
杠杆率(leverage)
确信度(conviction)
提升度
实现
美国沃尔玛超市对一年多的原始交易数据进行了详细的分析,得到一个意外发现:与尿布一起被购买最多的商品竟然是啤酒。
--关联规则在客户关系管理系统中的经典案例
关联规则
形如"如果X那么Y(If…Then…)",前者为条件,后者为结果。例如一个顾客,如果买了X,那么他也会购Y。
衡量标准
如何来度量一个规则是否够好?主要有两个量,置信度(Confidence)和支持度(Support)。
支持度
对于关联规则R:X=>Y,其中,,并且。
规则R的的支持度(Support)是交易集中同时包含X和Y的交易数与所有交易数之比。
关联规则的最小支持度也就是衡量频繁集的最小支持度(Minimum Support),记为supmin,它用于衡量规则需要满足的最低重要性。
置信度
表示了这条规则有多大程度上值得可信。
设条件的项的集合为X,结果的集合为Y。置信度计算在X中,同时也含有Y的概率(即:if X ,then Y的概率)。即 Confidence(X=>Y)=P(Y|X)。
关联规则的最小置信度(Minimum Confidence)记为confmin,它表示关联规则需要满足的最低可靠性。
如果规则R:X=>Y满足support(X=>Y)>supmin且confidence(X=>Y)>confmin,称关联规则X=>Y为强关联规则,否则称关联规则X=>Y为弱关联规则。
在挖掘关联规则时,产生的关联规则要经过supmin和confmin的衡量,筛选出来的强关联规则才能用于指导商家的决策。
杠杆率(leverage)
为0时X和Y独立,越大X和Y的关系越密切。
确信度(conviction)
也是用来衡量X和Y的独立性。
提升度
引入提升度Lift,以度量此规则是否可用。它描述的是:相对于不用规则,使用规则可以提高多少。
Lift(X->Y)=Confidence(X->Y)/Support(Y)=p(XY)/p(X)p(Y)
算法:
- 找出满足支持度的单个商品
- 将以上商品两两组合,找出满足支持度的两两组合
- 依次在以上商品中找到三个,四个....满足条件的组合
- 在满足条件的组合中找置信度满足条件的规则
实现
#定义函数读取购物篮数据
def read_file_apriori(filename):k=[]with open(filename) as f:for i in f:k.append(i.split())return k
data=read_file_apriori("d:/datasets/basket.txt")
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
import pandas as pd
te = TransactionEncoder()
#编码
te_ary = te.fit(data).transform(data) #类似onehot编码,所有的商品都是特征,购物篮中有的样本对应的特征为True,没买的样本对应的特征值为False
df = pd.DataFrame(te_ary, columns=te.columns_)
freq=apriori(df,min_support=0.05, use_colnames=True) #找出满足最小支持度的商品
TransactionEncoder编码的结果
满足支持度条件的商品及组合
找出满足条件的规则
#导入关联规则包
from mlxtend.frequent_patterns import association_rules
#计算关联规则
result = association_rules(freq, metric="confidence", min_threshold=0.4) #找出满足置信度大于0.4的规则'''
supported metrics are 'support', 'confidence', 'lift','leverage', and 'conviction'
'''
数据分析-关联规则-Apriori相关推荐
- python数据分析 - 关联规则Apriori算法
关联规则Apriori算法 导语 mlxtend实现Apriori算法 导语 关联规则: 是反映一个事物与其他事物之间的相互依存性和关联性 常用于实体商店或在线电商的推荐系统:通过对顾客的购买记录数据 ...
- apriori算法_机器学习(无监督学习)关联规则Apriori算法原理与python实现
关联规则Apriori算法 1.关联规则概述 关联规则算法是在一堆数据集中寻找数据之间的某种关联,通过该算法我们可以对数据集做关联分析--在大规模的数据中寻找有趣关系的任务.这些关系可以有两种形式:频 ...
- Python机器学习数据分析-关联规则
Python机器学习&数据分析-关联规则 机器学习课程的笔记整理 一.关联规则前置知识 关联规则 在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布 ...
- 数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例...
全文链接:http://tecdat.cn/?p=27606 作为数据挖掘的一个重要研究方向-关联规则用于发现数据项之间隐含的深层次的关联,如Apriori模型可以通过对客户需求进行深入的分析来发现数 ...
- 一步步教你轻松学关联规则Apriori算法
一步步教你轻松学关联规则Apriori算法 (白宁超 2018年10月22日09:51:05) 摘要:先验算法(Apriori Algorithm)是关联规则学习的经典算法之一,常常应用在商业等诸多领 ...
- 关联规则Apriori(python实现):Bakery Bussiness Model
关联规则Apriori(python实现):Bakery Bussiness Model 数据和编译环境说明 数据挖掘目标的建立 引入数据(CSV 文件)及相关库 数据探索 数据清洗 深度挖掘数据的深 ...
- php关联规则,如何理解关联规则apriori算法
理解关联规则apriori算法:Apriori算法是第一个关联规则挖掘算法,也是最经典的算法,它利用逐层搜索的迭代方法找出数据库中项集的关系,以形成规则,其过程由连接[类矩阵运算]与剪枝[去掉那些没必 ...
- 关联规则Apriori算法 python简单实现
1.基础知识 本文章主要参看博客 :关联规则Apriori算法 这里只是本人对该博主的代码做了一个简单的修改,能成功运行. 啦啦啦,我只是一个小小的知识搬运工! 2.代码 #加载数据集 import ...
- 【数据挖掘实验】关联规则——Apriori算法
一.实验项目名称: 关联规则--Apriori算法 二.实验目的与要求: 在软件方面:会用Clementine软件进行关联规则分析. 在理论方面:Apriori算法. 三.实验原理: 1.Aprior ...
- 挖掘建模-关联规则-Apriori算法
代码来源:Python数据分析与挖掘实战 原始数据: a c e b d b c a b c d a b b c a b a b c e a b c a ...
最新文章
- Python GuidLine(python编程规范) PEP8
- 使用OGR创建dxf格式矢量数据
- ddd模型的pom版本怎么管理_DDD 中的那些模式 — CQRS
- 一些关于 SAP Spartacus 组件和模块延迟加载的问题和解答
- 【TypeScript系列教程03】基础语法
- 前端学习(2846):css浮动和定位布局
- Java环境的正确配置你会了吗?
- android 外部存储列表,如何获取Android设备的已安装外部存储列表
- 计算机视觉 AI 工具集 OpenVINO™,是你心目中的深度学习框架 Top1 吗?
- MIT研发“读心机”:不开口也能对话,人生开挂全靠它
- 如何去掉图片上的文字?
- html中video自动循环,HTML5视频自动循环播放方法
- 计算机学报英语,修改稿要求-计算机学报.PDF
- win7计算机右键菜单多,win7系统清理右键菜单多余的选项|win7删除右键菜单多余选项的方法...
- 计算机无法识别游戏手柄,windows10系统下游戏手柄无法识别或工作怎么解决
- 对几款网络抓包工具的评测
- 可以几分钟快速对接支付宝APP支付和手机网站支付?
- 其实你孤独的像一只流浪狗
- 如约而至 | 云和恩墨大讲堂电子期刊第五期
- 【微信项目】LR参数化-关联--醍醐灌顶
热门文章
- 知识树 = 系统思维 + 外接大脑
- 服务器装系统报0x0000005d,虚拟机无法安装win10系统提示错误代码0x0000005D怎么办...
- nali for win golang版, 显示ip 的小工具
- 2021年王道数据结构课后题
- 如何在Visio中插入公式符号
- 注意力机制(Attention Mechanism)
- c语言入门这一篇就够了-学习笔记(一万字)
- MapReduce实现商品推荐算法(用户购买向量*商品同现矩阵)
- 人生代代无穷已,江月年年望相似——读《明朝那些事儿》有感
- 2010计算机操作员中级试题,计算机操作员中级操作技能考核试卷(一)