时间:2021-05-23
大家可能听说过用于宣传数据挖掘的一个案例:啤酒和尿布;据说是沃尔玛超市在分析顾客的购买记录时,发现许多客户购买啤酒的同时也会购买婴儿尿布,于是超市调整了啤酒和尿布的货架摆放,让这两个品类摆放在一起;结果这两个品类的销量都有明显的增长;分析原因是很多刚生小孩的男士在购买的啤酒时,会顺手带一些婴幼儿用品。
不论这个案例是否是真实的,案例中分析顾客购买记录的方式就是关联规则分析法Association Rules。
关联规则分析也被称为购物篮分析,用于分析数据集各项之间的关联关系。
提升度:为了判断产生规则的实际价值,即使用规则后商品出现的次数是否高于商品单独出现的评率,提升度和衡量购买X对购买Y的概率的提升作用。如下公式可见,如果X和Y相互独立那么提升度为1,提升度越大,说明X->Y的关联性越强
关联规则方法的步骤如下:
Apriori算法是经典的关联规则算法。Apriori算法的目标是找到最大的K项频繁集。Apriori算法从寻找1项集开始,通过最小支持度阈值进行剪枝,依次寻找2项集,3项集直到没有更过项集为止。
下面是一个案例图解:
关联规则目前在scikit-learn中并没有实现。这里介绍另一个python库mlxtend。
来看下数据集:
importpandasaspditem_list=[['牛奶','面包'],['面包','尿布','啤酒','土豆'],['牛奶','尿布','啤酒','可乐'],['面包','牛奶','尿布','啤酒'],['面包','牛奶','尿布','可乐']]item_df=pd.DataFrame(item_list)数据格式处理,传入模型的数据需要满足bool值的格式
frommlxtend.preprocessingimportTransactionEncodete=TransactionEncoder()df_tf=te.fit_transform(item_list)df=pd.DataFrame(df_tf,columns=te.columns_)选择出来关联规则之后,根据提升度排序后,可能最高提升度的规则是在我们常识范围内,那这个规则的价值就不高。所以我们要在产生的规则中根据业务特点进行筛选,像开篇提到(啤酒->尿布)完全不同的品类之间的关联。
笔者最近用关联规则分析用户的体检报告记录,也得出了关于各个病症的有意义的关联,如并发症,不同病症相互影响等。
本分介绍关联规则的基本概念和经典算法Apriori,以及python的实现库mlxtend使用。
总结如下:
以上就是详解Python 关联规则分析的详细内容,更多关于Python 关联规则分析的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
首先导入包含apriori算法的mlxtend库,pipinstallmlxtend调用apriori进行关联规则分析,具体代码如下,其中数据集选取本博客“机器
数据挖掘方法有分类、回归分析、聚类、关联规则、特征、变化和偏差分析。 数据挖掘(英语:Datamining),又译为资料探勘、数据采矿。是一种透过数理模式来分
关联篇:深入Android的消息机制源码详解-Handler,MessageQueue与Looper关系关联篇:Handler内存泄漏及其解决方
Python登录网站详解及实例对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看。 这是因为HTTP协议是一个无状态(Stateless)
在对Python中的闭包进行简单分析之前,我们先了解一下Python中的作用域规则。关于Python中作用域的详细知识,有很多的博文都进行了介绍。这里我们先从一