`

关联规则算法Apriori的学习与SQL简单实现购物篮分析

 
阅读更多

转载:关联规则算法Apriori的学习与SQL简单实现购物篮分析

 

关联规则挖掘用于寻找给定数据集中项之间的有趣的关联或相关关系。

关联规则揭示了数据项间的未知的依赖关系,根据所挖掘的关联关系,可以从一个数据对象的信息来推断另一个数据对象的信息。

例如购物篮分析。牛奶 ⇒ 面包 [支持度:3%,置信度:40%]

支持度3%:意味3%顾客同时购买牛奶和面包。
置信度40%:意味购买牛奶的顾客40%也购买面包。
规则的支持度和置信度是两个规则兴趣度度量,它们分别反映发现规则的有用性和确定性。
这里就使用SQL做简单的购物篮分析(仅实现单维关联规则算法)。

声明1: 使用的数据全部都是随机造出的,因此,分析的结果不代表真实的场景。

声明2: 此次分析过程在Mysql中实现。

建表语句如下:
		
	CREATE TABLE shopcart (
	car VARCHAR(50),
	product VARCHAR(200) 
	) ENGINE=MyISAM DEFAULT CHARSET=utf8;

数据文件见附件。

数据格式如下:

		
cart,product
shopcart_1,家具/家具定制/宜家代购
shopcart_10,玩具/模型/娃娃/人偶
shopcart_10,个人护理/保健/按摩器材
shopcart_10,奶粉/辅食/营养品
shopcart_10,品牌手表/流行手表
shopcart_10,酒店客栈/景点门票/度假旅游
shopcart_100,个人护理/保健/按摩器材
shopcart_100,珠宝/钻石/翡翠/黄金
shopcart_100,品牌保健品
shopcart_100,笔记本电脑
shopcart_100,益智玩具/早教/童车床/出行
shopcart_1000,尿片/洗护/喂哺等用品
shopcart_1000,家装饰品/窗帘/地毯
shopcart_1000,传统滋补品/其他保健营养品
shopcart_1000,女士内衣/男士内衣/家居服
shopcart_1000,电脑硬件/显示器/电脑周边
shopcart_101,网店/网络服务/个性定制/软件
shopcart_101,女装/女士精品
shopcart_101,粮油/蔬果/干货/速食/水产
shopcart_101,乐器/吉他/钢琴/配件
shopcart_102,厨房电器
shopcart_103,奶粉/辅食/营养品
shopcart_103,女鞋

每个商品一条记录,没有真实的交易数据,因此用类目代替商品名称。

 

第一步:使用自关联(多对多),统计每两种商品同时被购买的次数。

 

		
CREATE TABLE tmp1 AS 
select product_a,
product_b,
count(distinct cart) as buy_cnt_together  
from (
	select a.cart,
	a.product as product_a,
	b.product as product_b 
	from shopcart a join shopcart b 
	on (a.cart = b.cart) 
) x 
group by product_a,
product_b;

数据格式如下:

0422-1

 

第二步:计算置信度和支持度

 

		
create table result as 
select product_a,
product_b,
buy_cnt_together,
buy_cnt,
zz.cart_cnt,
xx.buy_cnt_together/yy.buy_cnt AS confidence, 
xx.buy_cnt_together/zz.cart_cnt AS support 
from tmp1 xx join (
		----每种商品被购买的交易次数
		SELECT product,
		count(DISTINCT cart) AS buy_cnt 
		FROM shopcart 
		GROUP BY product 
) yy 
on (xx.product_a = yy.product) 
join (
	----总的交易次数
	SELECT COUNT(DISTINCT cart) AS cart_cnt 
	FROM shopcart
) zz 
where xx.product_a <> xx.product_b 

数据如下:

0422-2

 

 

–验证,购买了”服饰配件/皮带/帽子/围巾”商品,同时购买”演出/吃喝玩乐折扣券”商品

–购买”服饰配件/皮带/帽子/围巾”交易次数 47
SELECT COUNT(DISTINCT cart)
FROM shopcart
WHERE product = ‘服饰配件/皮带/帽子/围巾';

–同时购买了”服饰配件/皮带/帽子/围巾”和”演出/吃喝玩乐折扣券”的次数 9
SELECT COUNT(DISTINCT cart)
FROM tmp1
WHERE products LIKE ‘%服饰配件/皮带/帽子/围巾%’
AND products LIKE ‘%演出/吃喝玩乐折扣券%’

–因此,这条规则置信度为 9/47=0.1915

–总共交易数为 997
SELECT COUNT(DISTINCT cart) AS cart_cnt
FROM shopcart
–因此,这条规则支持度为 9/997 = 0.009

商品A and 商品B

置信度计算规则为: 同时购买商品A和商品B的交易次数/购买了商品A的次数

支持度计算规则为: 同时购买了商品A和商品B的交易次数/总的交易次数

分享到:
评论

相关推荐

    Delphi实现Apriori算法(SQL语句和矩阵方式)

    在购物篮分析、市场篮子分析等场景中,Apriori算法被广泛应用。 在Delphi环境中实现Apriori算法,可以分为两个主要步骤:数据预处理和Apriori算法的执行。 1. 数据预处理: 在Apriori算法之前,首先需要将原始...

    MADlib-基于SQL的数据挖掘解决方案-关联规则之Apriori算法.docx

    【MADlib与Apriori算法】MADlib是一款开源的、嵌入到数据库管理系统中的数据挖掘库,它提供了一种高效的方式来进行复杂的数据分析,尤其是对于SQL支持的数据库系统。MADlib专注于向企业提供实用的技术方案,解决大...

    用C#实现Apriori算法

    在IT行业中,关联规则学习是一种数据挖掘技术,用于发现数据集中项集之间的有趣关系,例如在超市购物篮分析中,购买尿布的顾客往往也会购买啤酒。Apriori算法是这个领域的经典算法,由Raghu Ramakrishnan和Gehrke在...

    Apriori 算法C#实现

    总的来说,这个项目提供了C#实现Apriori算法的机会,可以帮助你深入理解数据挖掘中的关联规则学习,同时提升C#编程技能和数据库操作能力。通过实际动手操作,你将能够掌握如何在实际场景中应用这些知识。

    基于SQL Server的关联规则算法在高校招生中的应用.pdf

    在SQL Server 2005的环境中,Apriori算法可以高效地处理大规模数据,进行购物篮分析,即分析考生选择多个专业之间的关联性。 在实际应用中,利用SSAS服务,我们可以构建数据挖掘模型,通过API如DMX(Data Mining ...

    C#实现超市数据挖掘的Apriori算法

    在数据挖掘领域,Apriori算法是一种广泛应用的关联规则学习算法,常用于发现购物篮中的商品组合模式。此算法基于频繁项集的概念,寻找频繁出现的商品组合,从而揭示消费者的购买行为规律。在超市环境中,这种分析...

    apriori算法的实验报告

    它主要用于发现数据集中隐藏的有趣关系,例如购物篮分析中商品之间的关联性。在这个实验报告中,我们将详细探讨Apriori算法的原理、实现过程以及实验的各个环节。 一、Apriori算法概述 Apriori算法的核心思想是...

    HANA_SAP_Apriori算法_

    综上所述,SAP HANA中的AFL库通过Apriori算法实现对大量数据的高效分析,帮助企业发现隐藏的关联规则,推动业务洞察和决策。理解和熟练运用这一工具,对于从事数据挖掘和分析的专业人士来说,是提升业务价值的关键。

    数据仓库与数据挖掘实验报告 数据分析实验报告 分类与预测实验、关联规则分析、聚类分析 共34页.pdf

    关联规则挖掘用于发现数据项之间的有趣关系,如购物篮分析;聚类分析则是无监督学习的一种,目的是根据数据的相似性将数据分组成不同的类别。 实验四则要求学生实现数据挖掘算法。这可能包括编写程序代码,应用各种...

    SQL Server 2005 BI综合案例系列课程(13):连锁零售市场的购物篮分析

    在本课程中,我们主要探讨的是SQL Server 2005在商业智能(BI)领域的应用,特别是针对连锁零售市场的购物篮分析。购物篮分析是一种数据挖掘技术,它旨在理解和发现消费者购买行为的模式,从而帮助企业优化产品组合...

    Microsoft+SQL+Server+2005+Data+Mining演算法——Association

    关联规则挖掘在零售业中广泛应用,比如分析顾客购物篮数据,找出“如果顾客购买了商品A,那么他们也可能会购买商品B”的模式。这种信息可以用于制定促销策略,比如捆绑销售或个性化推荐。 **总结** SQL Server ...

    基于关联规则的数据挖掘技术的快速算法

    本文提出的改进Apriori算法有效地结合了SQL语言的优势,不仅简化了关联规则挖掘的过程,还大大提高了算法的执行效率。这种方法尤其适用于处理大规模数据集的情况,为企业提供了更为高效的数据分析工具。未来的研究...

    由Python实现的频繁项集挖掘Apriori算法

    Apriori算法是一种经典的关联规则学习算法,用于在大型交易数据库中发现频繁项集和强关联规则。它由Rakesh Agrawal和Ramakrishnan Srikant在1994年提出,主要用于市场篮子分析,帮助商家识别顾客购买商品之间的关联...

    数据挖掘的复习总结( APRIORI算法 ,OLAP操作)

    2. 关联分析:发现属性值经常共同出现的关联规则,如购物篮分析。 3. 分类与预测:构建模型预测未知类别的数据,基于已知类别的训练数据。 4. 聚类分析:无监督学习,根据相似性将数据分组。 5. 局外者分析:寻找...

    基于SQL数据挖掘在书目推荐中的应用.pdf

    关联规则的一个经典案例就是“购物篮”问题,通过分析顾客购物篮中的商品,发现商品之间的关联。例如,购买尿布的顾客可能同时购买啤酒。在图书推荐系统中,可以通过分析读者的借阅记录,发现不同图书之间的关联性,...

    常用数据挖掘算法总结及Python实现

    第三部分“非监督学习---聚类与关联分析”讨论了聚类和关联分析两种常用的非监督学习方法。聚类的目标是将相似的对象分组在一起。Kmeans是聚类分析中常用的算法,通过对数据点到聚类中心的距离进行最小化来实现数据...

    基于数据挖掘技术的毕业生信息管理系统的研究与开发.pdf

    Apriori算法和关联规则挖掘在实际应用中非常广泛,不仅可以应用于毕业生信息管理,还可以应用于零售行业的购物篮分析、生物信息学中的基因数据分析等多种领域。关联规则挖掘可以揭示数据中的隐藏模式,帮助人们发现...

    数据挖掘.zip

    在本压缩包文件中,我们聚焦于在SQL Server 2012环境下实现的数据挖掘技术,特别是K-means算法、Apriori算法关联规则以及ALOP算法。 首先,K-means算法是一种常见的无监督聚类方法,其目标是将数据集分割成K个簇,...

    数据挖掘指南

    关联规则学习如Apriori算法,用于发现项集之间的频繁模式,如购物篮分析。序列集群和中枢网络则专门处理序列数据,识别事件发生的模式。线性回归和物流回归则用于预测连续和离散的目标变量。 了解这些算法后,学习...

Global site tag (gtag.js) - Google Analytics