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错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
python通过floor函数舍弃小数位的方法
Mar 17 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
Python socket实现的简单通信功能示例
Aug 21 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
对python中类的继承与方法重写介绍
Jan 20 Python
python3爬虫学习之数据存储txt的案例详解
Apr 24 Python
python字典嵌套字典的情况下找到某个key的value详解
Jul 10 Python
python使用requests.session模拟登录
Aug 09 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
Feb 13 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
python爬虫之爬取笔趣阁小说
Apr 22 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教程 插件机制在PHP中实现方案
2012/11/02 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
javascript比较文档位置
2008/04/08 Javascript
JavaScript 动态改变图片大小
2009/06/11 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
python求众数问题实例
2014/09/26 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
python实现Flappy Bird源码
2018/12/24 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
python语言中有算法吗
2020/06/16 Python
python实现学生成绩测评系统
2020/06/22 Python
用python实现学生管理系统
2020/07/24 Python
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
数控专业自荐书范文
2014/03/16 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
安全生产学习心得体会
2016/01/18 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
React forwardRef的使用方法及注意点
2021/06/13 Javascript