python 实现关联规则算法Apriori的示例
作者:WJ ' BLOG 发布时间:2021-05-21 08:45:30
标签:python,关联规则算法,Apriori
首先导入包含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
来源:https://www.cnblogs.com/1998wj/p/13738328.html
0
投稿
猜你喜欢
- 要想从命令行启动mysqld服务器,你应当启动控制台窗口(或“DOS window”)并输入命令:C
- 熬了半个通宵,写出了自己的Google SiteMap文件,在这里给出详细编写教程,愿对大家有所帮助。Google SiteMap的作用及协
- 作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。Go 语言中变量可以在三个地方声明:函数内定义的变量称为局部变量
- 使用css2.1实现多重背景、多重边框效果在单个HTML元素上利用CSS2.1实现拥有3张背景图片和2张内容图效果,或者多重边框的效果。这种
- default-character-set=gbk #或gb2312,big5,utf8 然后重新启动mysql 运行->servic
- 内容摘要:Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行
- PHP输出JSON格式数据常用框架封装好的方法来输出JSON数据,但是手动去书写的时候却遇到了问题,因为输出的数据类型为字符串类型,导致不能
- 如下所示:data = np.random.randn(20)factor = pd.cut(data,4)pd.get_dummies(f
- 本文记录了python安装及环境配置方法,具体内容如下Python安装 Windowns操作系统中安装Python步骤一 下载安装包从Pyt
- 训练完目标检测模型之后,需要评价其性能,在不同的阈值下的准确度是多少,有没有漏检,在这里基于IoU(Intersection over Un
- 首先,创建一个存储过程 get_clob:t_name:要查询的表名;f_name:要查询的字段名;u_id:表的主键,查询条件;l_pos
- 转PDF初始代码从文件夹中读取图片数据,然后将他们保存为PDF格式。不长,大概10行代码。from PIL import Imagefrom
- php操作xml最近计划写个人的小网站,一系列原因选择了用php来写,最大的问题就是虽然php很流行,但我从来没有接触过php,看了一个多星
- 本文为大家讲解了pytorch实现CNN卷积神经网络,供大家参考,具体内容如下我对卷积神经网络的一些认识卷积神经网络是时下最为流行的一种深度
- 效果图展示:源码查看【功能说明】利用insertBefore制作简单的循环插空效果【HTML代码说明】<ul class="
- PHP 是世界上最好的语言。经典的 LNMP(linux + nginx + php + mysql)环境有很多现成的部署脚本,但是在 Do
- 本文实例讲述了es6函数之严格模式用法。分享给大家供大家参考,具体如下:从es5开始,函数内部可以设定为严格模式。function doSo
- 使用Django中遇到这样一个需求,对一个表的几个字段做 联合唯一索引,例如学生表中 姓名和班级 2个字段在一起表示一个唯一记录。Djang
- Dreamweaver中一直变色的超级链接,css+javascript实现超级链接变色,当鼠标移动到链接上时,链接的颜色不停闪烁变色。&l
- 阿里云提供了基于命名空间的 V2 版 SDK,但是文档不是很完整,使用门槛比较高,于是我封装了一个 Composer 包:https://g