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脚本来获取mp3文件tag信息的教程
May 04 Python
Python 2.7中文显示与处理方法
Jul 16 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
python多任务及返回值的处理方法
Jan 22 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
Pycharm简单使用教程(入门小结)
Jul 04 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
python如何建立全零数组
Jul 19 Python
Python把图片转化为pdf代码实例
Jul 28 Python
详解python datetime模块
Aug 17 Python
python 统计代码耗时的几种方法分享
Apr 02 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/02/22 PHP
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
PHP实现简单登录界面
2019/10/23 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
python多线程操作实例
2014/11/21 Python
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
python使用插值法画出平滑曲线
2018/12/15 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
Python中新式类与经典类的区别详析
2019/07/10 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
Python连接字符串过程详解
2020/01/06 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
台湾森森购物网:U-mall
2017/10/16 全球购物
比利时香水网上商店:NOTINO
2018/03/28 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
如何唤起类中的一个方法
2013/11/29 面试题
农民致富事迹材料
2014/01/23 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle