mlxtend手册(一)-频繁项目集

Mlxtend (machine learning extensions) is a Python library of useful tools for the day-to-day data science tasks.

mlxtend是一个拓展库,用来
mlxtend官网地址:Welcome to mlxtend's documentation

这次我使用这个主要是用来搞购物篮分析,也就是关联分析,下面我们就来开始入门了

安装

这个之前写了一个,直接参考吧:anaconda安装mlxtend

安装中没什么问题,只是用命令搞一下就好。

频繁项目集

关于这一块儿,官网上有很详细的介绍,可以参考这里:Frequent Itemsets via Apriori Algorithm

频繁项目集,就是我们要在一堆订单中找到经常在一起被购买的商品组合。这也是我们关心的,哪些商品我可以哪来做组合销售,打包售卖,除了主观的判断,从数据上,我们的用户到底喜欢购买哪些?

官方例子中给到的样例数据如下:

dataset = [['Milk', 'Onion', 'Nutmeg', 'Kidney Beans', 'Eggs', 'Yogurt'],
           ['Dill', 'Onion', 'Nutmeg', 'Kidney Beans', 'Eggs', 'Yogurt'],
           ['Milk', 'Apple', 'Kidney Beans', 'Eggs'],
           ['Milk', 'Unicorn', 'Corn', 'Kidney Beans', 'Yogurt'],
           ['Corn', 'Onion', 'Onion', 'Kidney Beans', 'Ice cream', 'Eggs']]

这就相当于5笔订单,每笔订单中的商品。
一开始,我在这里产生了一个疑问,就是,比如说,同样的商品A、商品B,这样的订单如果有10笔,我该怎样提现出来呢?
我主观的以为之类忽略了订单的数量,只保留了出现过的商品,为此,我困惑了很久,后来在一篇文章中想明白了,后面也会分享。

后面,我们要调用mlxtend提供的方法,也就是传入参数,传入参数需要符合人家的要求,也就是接口规范,我们需要用到

from mlxtend.preprocessing import TransactionEncoder
te = TransactionEncoder()
te_ary = te.fit(dataset).transform(dataset)
te_ary

这里,主要使用了TransactionEncoder的两个方法,一个fit,一个transform
先fit之后,mlxtend就可以知道有多少个唯一值,有了所有的唯一值,就可以转换成one-hot code了


如果要转为0,1形式,也非常方便

te_ary.astype("int")

上面说到的fit函数,它会初始化一个变量“columns_”


最后一步,把数据转换为DataFrame

import pandas as pd

pd.DataFrame(te_ary, columns=te.columns_)

哦,下面才是最后1步,调用数据,输出频繁项目集

from mlxtend.frequent_patterns import apriori

apriori(df, min_support=0.6)

这里输出的是支持度,支持度越高,说明出现的频率越高
这里的项目集显示不太友好,加个参数就好。

apriori(df, min_support=0.6, use_colnames=True)

上面,还有一个 min_support 参数,这是对支持度进行过滤,最小支持度为0.6

频繁项目集,就是如此,一步数据处理,一步接口调用,完事儿。


上面的数据已经出来了,我们排个序看看,顺便人工验证一下


这个Kidney Beans支持度是1.0,也就是100%,说明所有的订单中都包含了这个商品,看一眼,的确是这样的
我们再看一个组合商品的,组合的可能才是我们更关注的
(Eggs,Kidney Beans),支持度0.8,说明有80%的订单都同时购买了这两款商品,再看一眼数据,一共5笔订单,包含这两款商品的订单有4笔,恩就是80%

这里会出现一个问题,就是刚刚提到的,我们想要看组合商品,单个商品的暂时不看,那就需要增加一个字段

frequent_itemsets = apriori(df, min_support=0.6, use_colnames=True)
frequent_itemsets['length'] = frequent_itemsets['itemsets'].apply(lambda x: len(x))
frequent_itemsets

然后,我们只要过滤下就好

frequent_itemsets[frequent_itemsets['length']>1]
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 算法技术解构 1、Python基础知识 (1)IPythonIPython的开发者吸收了标准解释器的基本概念,在此...
    shenciyou阅读 5,265评论 0 10
  • 冥冥之中,一切皆是命运,人算不如天算; 思想之中,迷信非是科学,主观不如客观; 头脑之中,创意总是闪现,心动不如行...
    水上萍阅读 303评论 0 4
  • 今天第一天行程参观哈利法塔,2个博物馆,晚上欢迎晚宴。 我们是8组,大家边吃饭边聊。大家分享!逆境...
    娟妹纸李娟阅读 124评论 1 2
  • 读书那会,不经意之间就会聊起最近在听什么歌。毕业之后,这样的话题是越来越少了,更多的是最近在忙什么,工作怎么样了?...
    履微霜阅读 239评论 0 1
  • 微风拂面百花香, 觅香寻踪来欣赏。 欲闻芳香尚未至, 杏花树下画眉慌!
    往事如烟胖婆婆阅读 333评论 0 4