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进阶教程之函数参数的多种传递方法
Aug 30 Python
Python 字典dict使用介绍
Nov 30 Python
基于python socketserver框架全面解析
Sep 21 Python
python并发编程之线程实例解析
Dec 27 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 Python
在Pandas中给多层索引降级的方法
Nov 16 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
python3中calendar返回某一时间点实例讲解
Nov 18 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 print类函数使用总结
2010/06/25 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
VueJs里利用CryptoJs实现加密及解密的方法示例
2019/04/29 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
python安装教程
2018/02/28 Python
PHP实现发送和接收JSON请求
2018/06/07 Python
Tesserocr库的正确安装方式
2018/10/19 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
饲料采购员岗位职责
2013/12/19 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
mysql 获取时间方式
2022/03/20 MySQL