python 实现关联规则算法Apriori的示例


Posted in Python onSeptember 30, 2020

首先导入包含apriori算法的mlxtend库,

pip install mlxtend

调用apriori进行关联规则分析,具体代码如下,其中数据集选取本博客 “机器学习算法——关联规则” 中的例子,可进行参考,设置最小支持度(min_support)为0.4,最小置信度(min_threshold)为0.1,

最小提升度(lift)为1.0,对数据集进行关联规则分析,

from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
import pandas as pd

df_arr = [['苹果','香蕉','鸭梨'],
    ['橘子','葡萄','苹果','哈密瓜','火龙果'],
    ['香蕉','哈密瓜','火龙果','葡萄'],
    ['橘子','橡胶'],
    ['哈密瓜','鸭梨','葡萄']
    ]

#转换为算法可接受模型(布尔值)
te = TransactionEncoder()
df_tf = te.fit_transform(df_arr)
df = pd.DataFrame(df_tf,columns=te.columns_)

#设置支持度求频繁项集
frequent_itemsets = apriori(df,min_support=0.4,use_colnames= True)
#求关联规则,设置最小置信度为0.15
rules = association_rules(frequent_itemsets,metric = 'confidence',min_threshold = 0.15)
#设置最小提升度
rules = rules.drop(rules[rules.lift <1.0].index)
#设置标题索引并打印结果
rules.rename(columns = {'antecedents':'from','consequents':'to','support':'sup','confidence':'conf'},inplace = True)
rules = rules[['from','to','sup','conf','lift']]
print(rules)
#rules为Dataframe格式,可根据自身需求存入文件

输出结果如下:

from     to sup   conf   lift
0    (哈密瓜)    (火龙果) 0.4 0.666667 1.666667
1    (火龙果)    (哈密瓜) 0.4 1.000000 1.666667
2    (哈密瓜)    (葡萄) 0.6 1.000000 1.666667
3     (葡萄)    (哈密瓜) 0.6 1.000000 1.666667
4     (葡萄)    (火龙果) 0.4 0.666667 1.666667
5    (火龙果)    (葡萄) 0.4 1.000000 1.666667
6  (哈密瓜, 葡萄)    (火龙果) 0.4 0.666667 1.666667
7  (哈密瓜, 火龙果)    (葡萄) 0.4 1.000000 1.666667
8  (葡萄, 火龙果)    (哈密瓜) 0.4 1.000000 1.666667
9    (哈密瓜)  (葡萄, 火龙果) 0.4 0.666667 1.666667
10    (葡萄) (哈密瓜, 火龙果) 0.4 0.666667 1.666667
11    (火龙果)  (哈密瓜, 葡萄) 0.4 1.000000 1.666667

Process finished with exit code 0

以上就是python 实现关联规则算法Apriori的示例的详细内容,更多关于python 实现关联规则算法Apriori的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
树莓派中python获取GY-85九轴模块信息示例
Dec 05 Python
Python探索之静态方法和类方法的区别详解
Oct 27 Python
django用户登录和注销的实现方法
Jul 16 Python
Python装饰器模式定义与用法分析
Aug 06 Python
Selenium chrome配置代理Python版的方法
Nov 29 Python
python 实现倒排索引的方法
Dec 25 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
Jupyter notebook 更改文件打开的默认路径操作
May 21 Python
pandas数值排序的实现实例
Jul 25 Python
利用python做数据拟合详情
Nov 17 Python
python​格式化字符串
Apr 20 Python
Python之字典添加元素的几种方法
Sep 30 #Python
Python之字典对象的几种创建方法
Sep 30 #Python
python 实现朴素贝叶斯算法的示例
Sep 30 #Python
Python字典取键、值对的方法步骤
Sep 30 #Python
Python根据字典的值查询出对应的键的方法
Sep 30 #Python
python字典通过值反查键的实现(简洁写法)
Sep 30 #Python
python中字典增加和删除使用方法
Sep 30 #Python
You might like
简单的php文件上传(实例)
2013/10/27 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
JQuery 操作select标签实现代码
2010/05/14 Javascript
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
python修改注册表终止360进程实例
2014/10/13 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
python 星号(*)的多种用途
2020/09/21 Python
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
一套VC试题
2015/01/23 面试题
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
律师授权委托书范本
2014/10/07 职场文书
办公室文员岗位职责
2015/02/04 职场文书
纪委立案决定书
2015/06/24 职场文书
PO模式在selenium自动化测试框架的优势
2022/03/20 Python