商业数据分析与可视化教学课件第七章关联分析

举报
资源描述
3关联分析购物篮分析21学习目标理解关联分析的支持度、置信度、提升度和Apriori算法。掌握Apriori算法的Python实现方法课程导入Part01导入与预备知识预备知识问题1:一个口袋中有10个乒乓球,其中含有6个黄球,4个白球,请问从中任取一个黄球的概率是多少?问题2:某品牌的灯泡,正常使用一年的概率为90%,正常使用两年的概率为70%,请问一灯泡在已经正常使用了一年的情况下,再正常使用一年的可能性有多大?提示:条件概率公式:p(B|A)=P(AB)/P(A)问题3:小凯和小凡分别独立破译一个密码的概率分别是50%和30%,那么在小凯已经破译密码的情况下,小凡再破译密码的概率是多少?啤酒与尿布沃尔玛曾在对卖场销售数据进行分析时发现了一个奇怪的现象:啤酒与尿布这两件看起来不相关的商品,在某些情况下会经常出现在同一个购物篮中。l通过分析发现:在美国有婴儿的家庭中,一般是母亲在家中照看婴儿,父亲则被派去超市购买尿布。而年轻的父亲都有爱喝啤酒的习惯,往往会顺便为自己买些啤酒回家。沃尔玛卖场:将啤酒喝尿布摆放在相同区域结果:啤酒和尿布的营业额均实现了增长。商品销售关联分析Part02案例分析背 景Customer_IDAgeAnnual_IncomeSpending_Score1191539221158132016642316775311740以下是某超市的购物清单数据,该数据包含了9835条购物记录,涉及169个不同的商品,数据示例如下:订单号商品名1柑橘1人造黄油1即食汤1半成品面包2咖啡2热带水果问题1、对销量前10的商品做热销分析。2、对购物数据进行关联分析,并提出商品销售建议。超市商品购物篮分析问题一:对销量前10的商品做热销分析。在经营中,商品销售基本满足“二八定律”,对热销商品情况进行分析也是商品管理中十分重要的。我们可以从销售量和占比两方面对热销商品进行分析,并利用图表进行可视化展示。问题二:对购物数据进行关联分析,并提出商品销售建议。利用对商品数据进行关联分析,结合散点图和关系图,给出关联分析结果的可视化,发现有意义的关联商品,制定有效的营销策略,有助于提高商品销售量,带来收益。问题分析导入数据热销分析热销商品统计散点组合图关联分析关联规则探索关联分析可视化关系图思路统计每个商品的销量占比统计每个商品的销量导入数据热销商品散点折线组合图 热销分析选择前十热销商品散点图:绘制热销商品散点图 散点折线组合图折线图:绘制热销商品占比折线图组合图:绘制热销商品散点折线组合图 散点折线组合图练习:柱状图关联分析Part03这些推荐的商品都是和我们选中的商品之间存在强关联性的。对于这类在大量的数据中,发现不同商品之间有意义关联的分析应用,我们称为关联分析。根据发现的规律采取有效的行动,制定商品摆放、商品采购计划、商品促销策略,对商家增加销售量有着重要意义。概念理解:关联分析项集:在一个购物清单中,一个商品就是一项,若干项的集合称为项集,如啤酒,尿布。关联规则:关联规则一般用XY的形式来表示。比如关联规则:啤酒尿布成立,则表示顾客在购买了啤酒的情况下,往往还会购买尿布。概念理解问题:在10000个顾客中,同时购买啤酒,面包的顾客有100个,同时购买啤酒,尿布的顾客有800个。那么一个顾客会同时购买啤酒,尿布和会同时购买啤酒,面包的可能性分别是多少?可以算出:一个顾客同时购买啤酒,尿布的可能性(概率)为:一个顾客同时购买啤酒,面包的可能性(概率)为:支持度问题:在10000个顾客中,同时购买啤酒,面包的顾客有100个,同时购买啤酒,尿布的顾客有800个。那么一个顾客会同时购买啤酒,尿布和会同时购买啤酒,面包的可能性分别是多少?可以算出:一个顾客同时购买啤酒,尿布的可能性(概率)为:一个顾客同时购买啤酒,面包的可能性(概率)为:支持度问题:在10000个顾客中,同时购买啤酒,面包的顾客有100个,同时购买啤酒,尿布的顾客有800个。那么一个顾客会同时购买啤酒,尿布和会同时购买啤酒,面包的可能性分别是多少?可以算出:一个顾客同时购买啤酒,尿布的可能性(概率)为:一个顾客同时购买啤酒,面包的可能性(概率)为:支持度 支持度 置信度 置信度 置信度 置信度在10000个顾客中,购买了啤酒的顾客有8000个,购买了尿布的顾客有1000个,其中同时购买了啤酒,尿布的顾客有800个。那么购买了尿布的顾客中,会同时购买啤酒的概率是多少?没有购买尿布的顾客中,会购买啤酒的概率是多少?购买了尿布的顾客中,会同时购买啤酒的概率是:没有购买尿布的顾客中,会购买啤酒的概率是:提升度在10000个顾客中,购买了啤酒的顾客有8000个,购买了尿布的顾客有1000个,其中同时购买了啤酒,尿布的顾客有800个。那么购买了尿布的顾客中,会同时购买啤酒的概率是多少?没有购买尿布的顾客中,会购买啤酒的概率是多少?购买了尿布的顾客中,会同时购买啤酒的概率是:没有购买尿布的顾客中,会购买啤酒的概率是:提升度8001000=80%在10000个顾客中,购买了啤酒的顾客有8000个,购买了尿布的顾客有1000个,其中同时购买了啤酒,尿布的顾客有800个。那么购买了尿布的顾客中,会同时购买啤酒的概率是多少?没有购买尿布的顾客中,会购买啤酒的概率是多少?购买了尿布的顾客中,会同时购买啤酒的概率是:没有购买尿布的顾客中,会购买啤酒的概率是:可以看到,顾客买了尿布再买啤酒和没有买尿布但买了啤酒的概率是一样的,这说明了顾客是否买啤酒,与有没有买尿布之间是没有关联的,两者是相互独立的。这也说明虽然关联规则的置信度高达80%,但是这条关联规则其实也是没有意义的。提升度8001000=80%显然,如果买了尿布再买啤酒的概率大于买啤酒的概率,那么就可以说明买了尿布的对购买啤酒是有促进作用的了,关联规则就是有意义的了。所以,我们用:这一比值来衡量关联规则的可靠性,该比值称为提升度(lift)。提升度就是表示在X发生的条件下,Y发生的概率与Y总体发生的概率之比:提升度反映了X的出现对Y的出现概率造成了多大的影响。当提升度为1时,表示尿布与啤酒是相互独立的,尿布的出现对啤酒是没有提升作用的;当提升度大于1时,表明提升度越大,尿布对啤酒销量的提升程度越大,他们之间的关联性越强。提升度lift(XY)=P(Y|X)/P(X)小结现在我们知道了可以通过支持度、置信度和提升度来反映商品之间的关联性。但是在实际的应用中,由于数据量大、商品之间组合数多,如果我们直接对所有商品组合进行计算分析,其计算量是很大的。所以针对这个问题,我们下面介绍关联分析中最经典的Apriori算法来降低关联规则的计算时间。关联规则算法的一般过程是通过最小支持度,找出所有频繁项集;然后,根据最小置信度阈值,过滤频繁项集产生的关联规则;最后得到可能感兴趣的强关联规则。Apriori算法原理是如果某个项集是频繁的,那么它的所有子集也是频繁的。也就是说如果一个项集是非频繁的,那么它的所有超集也是非频繁的。比如0,是非频繁的,那么0,1也是非频繁的,也就不用再分析。利用这个原理,Apriori从而降低了关联规则的计算时间。Apriori算法apriori()函数Python中mlxtend.frequent_patterns模块下的apriori()函数可以实现Apriori算法,调用格式如下:apriori(df,min_support=0.5,use_colnames=False,max_len=None,)Apriori算法的Python实现参数名称说明df编码后的数据集min_support最小支持度,默认为0.5use_colnames默认为False,若为True,则生成的数据集列名将采用df的列名。max_len产生项集的最大长度。默认为None,即评估所有长度的项集。参数df中的值,要么为0/1,要么为True/False示例:AppleBananasBeerChicken0TrueFalseTrueFalse1TrueFalseTrueFalse2TrueTrueFalseFalse3FalseFalseTrueTrueApriori算法的Python实现TransactionEncoder()函数mlxtend.preprocessing模块中的TransactionEncoder()函数可以将数据进行编码为apriori()函数接收的格式。association_rules()函数mlxtend.frequent_patterns库中的association_rules()函数可以查看apriori()输出的关联规则,其调用格式如下:association_rules(df,metric=confidence,min_threshold=0.8,support_only=False)Apriori算法的Python实现参数名称说明dfDataFrame格式的频繁项集,可为apriori()输出数据。metric度量方法。包含support(支持度),confidence(置信度),lift(提升度),leverage和conviction。min_threshold度量方法的最小阈值。support_only默认为False。如果为True,则只计算支持度的度量。一般而言,由于所研究的数据集往往是海量的,我们想要考察的规则不可能占有其中的绝大部分,因此支持度的阈值一般设得较低。而由于我们需要剔除无意义的项集,获得强关联规则,因此置信度的阈值一般设得较高。在阈值设置中,如果阈值设定过高,容易丢失有用的信息,如果阈值设定偏低,则生成的规则数量将会很大。最终关联规则的大小,是根据问题的需要来决定。在调整中如果更加注重项集在总体中所占比例,则可以适当提高支持度阈值,如果更注重规则本身的可靠性,则可以适当提高置信度阈值。具体操作而言,我们可以先使用默认参数来生成规则,再进一步调整到设想的规则规模或强度。如何较好的调整控制支持度和置信度的阈值?
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 高等教育 > 大学课件


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号