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中的hashlib和base64加密模块使用实例
Sep 02 Python
Python调用系统底层API播放wav文件的方法
Aug 11 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
对python实现合并两个排序链表的方法详解
Jan 23 Python
Python closure闭包解释及其注意点详解
Aug 28 Python
Python语言异常处理测试过程解析
Jan 08 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
Python可以用来做什么
Nov 23 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
从np.random.normal()到正态分布的拟合操作
Jun 02 Python
Python中with上下文管理协议的作用及用法
Mar 18 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实现的一致性哈希算法完整实例
2015/11/14 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
2020/07/21 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
javascript String 的扩展方法集合
2008/06/01 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
11种ASP连接数据库的方法
2015/09/18 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
Python实现的计算器功能示例
2018/04/26 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
Python序列类型的打包和解包实例
2019/12/21 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
Python学习之os模块及用法
2020/06/03 Python
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
杭州信雅达系统.NET工程师面试试题
2015/02/08 面试题
资产经营总监岗位职责
2013/12/04 职场文书
高中学生期末评语
2014/04/25 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
个人总结怎么写
2015/02/26 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
Python re.sub 反向引用的实现
2021/07/07 Python
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers