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计算一个序列的平均值的方法
Jul 11 Python
使用Python写个小监控
Jan 27 Python
python中利用xml.dom模块解析xml的方法教程
May 24 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
Python绘制KS曲线的实现方法
Aug 13 Python
详解Python 正则表达式模块
Nov 05 Python
Python发送邮件的实例代码讲解
Oct 16 Python
python中time库的实例使用方法
Oct 31 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
python实现图片转字符画的完整代码
Feb 21 Python
Python并发编程实例教程之线程的玩法
Jun 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+MYSQL开发工具及资源收藏
2007/01/02 PHP
php对称加密算法示例
2014/05/07 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
javascript css float属性的特殊写法
2008/11/13 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
JQuery each打印JS对象的方法
2013/11/13 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python检测服务器是否正常
2014/02/16 Python
Python实现的rsa加密算法详解
2018/01/24 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
python Shapely使用指南详解
2020/02/18 Python
python实现字符串和数字拼接
2020/03/02 Python
歌唱比赛获奖感言
2014/01/21 职场文书
中国好声音华少广告词
2014/03/17 职场文书
教学改革实施方案
2014/03/31 职场文书
保护环境标语
2014/06/09 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL