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中字符串前面加r的作用
Jun 04 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
pandas DataFrame 行列索引及值的获取的方法
Jul 02 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
DjangoWeb使用Datatable进行后端分页的实现
May 18 Python
浅谈TensorFlow之稀疏张量表示
Jun 30 Python
Python性能测试工具Locust安装及使用
Dec 01 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
PHP 实例化类的一点摘记
2008/03/23 PHP
用PHP实现 上一篇、下一篇的代码
2012/09/29 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
2017/09/28 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
python列表的增删改查实例代码
2018/01/30 Python
python 实现判断ip连通性的方法总结
2018/04/22 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
Python占用的内存优化教程
2019/07/28 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
写自荐信要注意什么
2013/12/26 职场文书
挂牌仪式主持词
2014/03/20 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
安全生产协议书
2016/03/22 职场文书