python实现关联算法_python实现关联规则算法Apriori代码示例
本篇文章小编给大家分享一下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
python实现关联算法_python实现关联规则算法Apriori代码示例相关推荐
- python isnumeric函数用法_Python string isnumeric()用法及代码示例
在Python中,isnumeric()是用于字符串处理的内置方法.如果字符串中的所有字符均为数字字符,则issnumeric()方法返回"True",否则,返回"Fal ...
- python中pop用法_Python dict pop()用法及代码示例
Python语言为几乎所有容器(无论是列表容器还是集合容器)指定了pop().这篇特别的文章着重说明Python词典提供的pop()方法.这种方法对于经常处理字典的程序员很有用. 用法:dict.po ...
- python的datetime举例_Python datetime.timedelta()用法及代码示例
Python timedelta()函数存在于datetime库中,该函数通常用于计算日期差,也可以用于Python中的日期操作.这是执行日期操作的最简单方法之一. 用法: datetime.time ...
- python中pop用法_Python Set pop()用法及代码示例
Python的这种内置功能有助于在实现Stack时从集合中弹出元素,就像概念中使用的原理一样.此方法从集合中删除随机元素,然后返回删除的元素.与之不同的是,堆栈中会弹出一个随机元素. 用法: # Po ...
- python中argmin函数_Python numpy.argmin()用法及代码示例
numpy.argmin(array,axis = None,out = None):返回特定轴上数组min元素的索引. 参数: array:Input array to work on axis : ...
- python json dumps 自定义_Python json.dumps()用法及代码示例
JSON的完整形式是JavaScript Object Notation.这意味着将使用编程语言的文本组成的脚本(可执行)文件用于存储和传输数据. Python通过名为内置的软件包支持JSONjson ...
- python的mag模块_Python Decimal max_mag()用法及代码示例
Decimal#max_mag():max_mag()是一个Decimal类方法,该方法比较两个Decimal值并返回两个最大值(忽略它们的符号). 用法: Decimal.max_mag() 参数: ...
- python的mag模块_Python Decimal min_mag()用法及代码示例
Decimal#min_mag():min_mag()是一个Decimal类方法,它比较两个Decimal值并返回两个最小值,而忽略它们的符号. 用法: Decimal.min_mag() 参数: D ...
- python not is函数_Python unittest assertIsNotNone()用法及代码示例
assertIsNotNonePython中的()是单元测试库函数,用于单元测试中以检查输入值是否为None.此函数将使用两个参数作为输入,并根据断言条件返回布尔值.如果输入值不等于无assertIs ...
最新文章
- UITabBar,UINavigationBar的布局和隐藏问题
- JavaScript数据结构与算法——栈详解
- CS 320—Week 8 Homewor
- html注释引用公共头部_HTML注释和引用
- python计算近似圆周率
- MAX脚本发送贴图的另外一个方式
- python 多态 锁_python 上下文管理器,多态,数据锁定与自省,
- hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)
- CPT205-Computer Graphics
- Google Earth Engine(GEE)——点、线、面和省级行政区的加载和展示,以及矢量的过滤筛选
- 几何图形计算器的设计与实现----课程设计任务书
- 爱快做无线打印服务器,听说爱快路由器也支持NAS了?
- 区块链应用在网络安全的六个案例
- android studio主moudle无法调用依赖moudle里的jar包
- GitHub入门之一:使用github下载项目
- ROS2网络课程资料分享2019.10.26
- 石英晶振常用术语解释
- 【技巧】arcgis制图设置经纬网同时置于最底层
- XStar房屋最短路径
- I2C通讯 - 在一次通讯中(transaction) 多次start
热门文章
- CVPR2010奇文一篇共欣赏--如何“写论文”
- js获取classname值_js如何获取DIV的 class值?
- 《1天搞定Spring boot +vue 全栈开发》后端学习笔记
- 拥有一个贴心管家是怎样的体验?TCL C12智屏给你答案
- 十六进制转换成十进制(超简c++)
- zabbix监控mysql的原理_zabbix监控mysql数据库性能实现
- 【Python day2】
- 学习可视采耳要多长时间?可视采耳学费要多少钱?开一家可视采耳店大概要多少钱?
- MFC界面库BCGControlBar的介绍
- 国务院通知明确2008年节假日具体安排