iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中关联的规则有哪些
  • 141
分享到

Python中关联的规则有哪些

2023-06-14 06:06:30 141人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

今天就跟大家聊聊有关python中关联的规则有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 关联规则大家可能听说过用于宣传数据挖掘的一个案例:啤酒和尿布;据说是沃尔玛超市在

今天就跟大家聊聊有关python中关联的规则有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1. 关联规则

大家可能听说过用于宣传数据挖掘的一个案例:啤酒和尿布;据说是沃尔玛超市在分析顾客的购买记录时,发现许多客户购买啤酒的同时也会购买婴儿尿布,于是超市调整了啤酒和尿布的货架摆放,让这两个品类摆放在一起;结果这两个品类的销量都有明显的增长;分析原因是很多刚生小孩的男士在购买的啤酒时,会顺手带一些婴幼儿用品。

不论这个案例是否是真实的,案例中分析顾客购买记录的方式就是关联规则分析法Association Rules。

关联规则分析也被称为购物篮分析,用于分析数据集各项之间的关联关系。

1.1 基本概念

  • 项集:item的集合,如集合{牛奶、麦片、糖}是一个3项集,可以认为是购买记录里物品的集合。

  • 频繁项集:顾名思义就是频繁出现的item项的集合。如何定义频繁呢?用比例来判定,关联规则中采用支持度和置信度两个概念来计算比例值

  • 支持度:共同出现的项在整体项中的比例。以购买记录为例子,购买记录100条,如果商品A和B同时出现50条购买记录(即同时购买A和B的记录有50),那边A和B这个2项集的支持度为50%

Python中关联的规则有哪些

  • 置信度:购买A后再购买B的条件概率,根据贝叶斯公式,可如下表示:

Python中关联的规则有哪些

提升度:为了判断产生规则的实际价值,即使用规则后商品出现的次数是否高于商品单独出现的评率,提升度和衡量购买X对购买Y的概率的提升作用。如下公式可见,如果X和Y相互独立那么提升度为1,提升度越大,说明X->Y的关联性越强

Python中关联的规则有哪些

1.2 关联规则Apriori算法

关联规则方法的步骤如下:

  • 发现频繁项集

  • 找出关联规则

Apriori算法是经典的关联规则算法。Apriori算法的目标是找到最大的K项频繁集。Apriori算法从寻找1项集开始,通过最小支持度阈值进行剪枝,依次寻找2项集,3项集直到没有更过项集为止。

下面是一个案例图解:

Python中关联的规则有哪些

  • 图中有4个记录,记录项有1,2,3,4,5若干

  • 首先先找出1项集对应的支持度(C1),可以看出4的支持度低于最小支持阈值,先剪掉(L1)。

  • 从1项集生成2项集,并计算支持度(C2),可以看出(1,5)(1,2)支持度低于最小支持阈值,先剪掉(L2)

  • 从2项集生成3项集,(1,2,3)(1,2,5)(2,3,5)只有(2,3,5)满足要求

  • 没有更多的项集了,就定制迭代

2. mlxtend实战关联规则

关联规则目前在scikit-learn中并没有实现。这里介绍另一个Python库mlxtend。

2.1 安装

pip install mlxtend

2.2 简单的例子

来看下数据集:

import pandas as pditem_list = [['牛奶','面包'],    ['面包','尿布','啤酒','土豆'],    ['牛奶','尿布','啤酒','可乐'],    ['面包','牛奶','尿布','啤酒'],    ['面包','牛奶','尿布','可乐']]item_df = pd.DataFrame(item_list)

数据格式处理,传入模型的数据需要满足bool值的格式

from mlxtend.preprocessing import TransactionEncodete = TransactionEncoder()df_tf = te.fit_transfORM(item_list)df = pd.DataFrame(df_tf,columns=te.columns_)

Python中关联的规则有哪些

  • 计算频繁项集

from mlxtend.frequent_patterns import apriori# use_colnames=True表示使用元素名字,默认的False使用列名代表元素, 设置最小支持度min_supportfrequent_itemsets = apriori(df, min_support=0.05, use_colnames=True)frequent_itemsets.sort_values(by='support', ascending=False, inplace=True)# 选择2频繁项集print(frequent_itemsets[frequent_itemsets.itemsets.apply(lambda x: len(x)) == 2])

Python中关联的规则有哪些

  • 计算关联规则

from mlxtend.frequent_patterns import association_rules# metric可以有很多的度量选项,返回的表列名都可以作为参数association_rule = association_rules(frequent_itemsets,metric='confidence',min_threshold=0.9)#关联规则可以提升度排序association_rule.sort_values(by='lift',ascending=False,inplace=True)    association_rule# 规则是:antecedents->consequents

Python中关联的规则有哪些

选择出来关联规则之后,根据提升度排序后,可能最高提升度的规则是在我们常识范围内,那这个规则的价值就不高。所以我们要在产生的规则中根据业务特点进行筛选,像开篇提到(啤酒->尿布)完全不同的品类之间的关联。

看完上述内容,你们对Python中关联的规则有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网Python频道,感谢大家的支持。

--结束END--

本文标题: Python中关联的规则有哪些

本文链接: https://www.lsjlt.com/news/268503.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中有哪些关联规则
    这期内容当中小编将会给大家带来有关Python中有哪些关联规则,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.1 基本概念 项集:item的集合,如集合{牛奶、麦片、糖}是一个3项集,可以认为...
    99+
    2023-06-15
  • Python中关联的规则有哪些
    今天就跟大家聊聊有关Python中关联的规则有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 关联规则大家可能听说过用于宣传数据挖掘的一个案例:啤酒和尿布;据说是沃尔玛超市在...
    99+
    2023-06-14
  • 详解Python 关联规则分析
    目录1. 关联规则1.1 基本概念1.2 关联规则Apriori算法2. mlxtend实战关联规则2.1 安装2.2 简单的例子3. 总结1. 关联规则 大家可能听说过用于宣传数...
    99+
    2024-04-02
  • python的切片规则有哪些
    在Python中,切片操作用于从一个序列(如字符串、列表、元组)中获取子序列。切片规则如下:1. 基本切片规则:使用[start:s...
    99+
    2023-09-26
    python
  • css中@规则有哪些
    小编给大家分享一下css中@规则有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 一个at-rule就是一个CSS语句,...
    99+
    2024-04-02
  • Python中有哪些下划线的潜规则
    本篇内容主要讲解“Python中有哪些下划线的潜规则”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中有哪些下划线的潜规则”吧!1. 单前导下划线  _var当涉及到变量和方...
    99+
    2023-06-16
  • python定义类的规则有哪些
    定义一个类的规则如下:1. 使用关键字`class`来定义一个类。2. 类名的命名规则通常使用驼峰命名法,首字母大写。3. 类名后面...
    99+
    2023-08-14
    python
  • python声明变量的规则有哪些
    在Python中,声明变量的规则如下:1. 变量名必须是以字母或下划线开头,后面可以是字母、数字或下划线的组合。2. 变量名区分大小写,例如"myVariable"和"myvariable"是两个不同的变量。3. 变量名不能是Pytho...
    99+
    2023-08-11
    python
  • Java开发中的规则有哪些
    今天就跟大家聊聊有关Java开发中的规则有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、关键字&标识符关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词...
    99+
    2023-05-31
    java ava
  • Python定义函数的规则有哪些
    Python函数定义规则:1.函数代码块以def关键词开头,后接函数名称和小括号(),小括号后的冒号“:”表示函数体的开始;2.函数以return语句结束,用于返回结果,不带表达式的return相当于返回None;3.函数体应遵循缩进语法;...
    99+
    2024-04-02
  • Python变量的命名规则有哪些
    Python变量的命名规则包括以下几点: 变量名只能包含字母(大小写都可以)、数字和下划线,不能以数字开头。 变量名不能包含空格,...
    99+
    2024-02-29
    python
  • SQLServer中的排序规则有哪些
    本篇文章给大家分享的是有关SQLServer中的排序规则有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、总结1.SQLServer中的...
    99+
    2024-04-02
  • CSS中@规则的用法有哪些
    CSS中@规则的用法有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。at-rule是一个声明,为CSS提供执行或怎么表现的...
    99+
    2024-04-02
  • python列表切片规则有哪些
    在Python中,列表切片(Slice)使用的语法是`list[start:end:step]`,其中`start`表示切片的起始位...
    99+
    2023-09-26
    python
  • HTML5中常用的规则有哪些
    今天小编给大家分享一下HTML5中常用的规则有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2024-04-02
  • python基本语法规则有哪些
    python 的基本语法规则包括:使用缩进来定义代码块。使用变量存储数据,并通过 = 赋值运算符赋值。支持多种数据类型,如数字、字符串和列表。提供算术、关系、逻辑和赋值运算符。使用控制流...
    99+
    2024-04-20
    python 键值对
  • python取余运算规则有哪些
    在Python中,取余运算使用%符号来表示。取余运算规则如下:1. 整数取余:对于两个整数a和b,a % b的结果是a除以b的余数。...
    99+
    2023-08-23
    python
  • SQLserver中有哪些排序规则
    这篇文章将为大家详细讲解有关SQLserver中有哪些排序规则,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。ASCII编码在计算机发明后不久,计算机只在美国...
    99+
    2024-04-02
  • java中有哪些规则引擎
    这期内容当中小编将会给大家带来有关java中有哪些规则引擎,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对...
    99+
    2023-06-14
  • C#正则表达式语法的相关规则有哪些
    这篇文章主要介绍“C#正则表达式语法的相关规则有哪些”,在日常操作中,相信很多人在C#正则表达式语法的相关规则有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#正则表达式语法的相关规则有哪些”的疑惑有所...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作