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 Django模板的使用方法(图文)
Nov 04 Python
python实现ftp客户端示例分享
Feb 17 Python
Python中动态检测编码chardet的使用教程
Jul 06 Python
python文本数据相似度的度量
Mar 12 Python
python基础教程项目二之画幅好画
Apr 02 Python
Numpy数组转置的两种实现方法
Apr 17 Python
详解python的argpare和click模块小结
Mar 31 Python
Django框架会话技术实例分析【Cookie与Session】
May 24 Python
python3处理word文档实例分析
Dec 01 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
Feb 24 Python
django学习之ajax post传参的2种格式实例
May 14 Python
Python 线程池模块之多线程操作代码
May 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常用代码大全(新手入门必备)
2010/06/29 PHP
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
javascript判断单选框或复选框是否选中方法集锦
2007/04/04 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
python实用代码片段收集贴
2015/06/03 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
tensorflow 环境变量设置方式
2020/02/06 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
python语言的优势是什么
2020/06/17 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
语文教育专业应届生求职信
2013/11/23 职场文书
升职自荐信
2013/11/28 职场文书
财务会计专业推荐信
2013/11/30 职场文书
《果园机器人》教学反思
2014/04/13 职场文书
党员活动日总结
2014/05/05 职场文书
师德模范事迹材料
2014/06/03 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
教你怎么用Python监控愉客行车程
2021/04/29 Python
解决golang 关于全局变量的坑
2021/05/06 Golang
Python绘画好看的星空图
2022/03/17 Python
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle