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根据京东商品url获取产品价格
Aug 09 Python
结合Python的SimpleHTTPServer源码来解析socket通信
Jun 27 Python
Python 文件操作的详解及实例
Sep 18 Python
神经网络(BP)算法Python实现及应用
Apr 16 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
Apr 25 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
Python编写带选项的命令行程序方法
Aug 13 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
Django多数据库联用实现方法解析
Nov 12 Python
scrapy实践之翻页爬取的实现
Jan 05 Python
Python 中 Shutil 模块详情
Nov 11 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分页函数
2006/07/08 PHP
php json相关函数用法示例
2017/03/28 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
Javascript事件实例详解
2013/11/06 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
2018/03/05 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
Python对象属性自动更新操作示例
2018/06/15 Python
keras之权重初始化方式
2020/05/21 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
Python实现上下文管理器的方法
2020/08/07 Python
python3跳出一个循环的实例操作
2020/08/18 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
坚守艰苦奋斗精神坚决反对享乐主义整改措施
2014/09/17 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers