天池大赛产品关联性分析数据集:https://pan.baidu.com/s/1CFxIDu8enrCbj50JQlHiMg 
提取码:1234

#首先进行数据预处理
import pandas as pd
#读入所有数据
customer = pd.read_csv("D:/天池竞赛/产品关联分析/customer.csv",encoding="gbk")
date = pd.read_csv("D:/天池竞赛/产品关联分析/date.csv",encoding="gbk")
order = pd.read_csv("D:/天池竞赛/产品关联分析/order.csv",encoding="gbk")
product = pd.read_csv("D:/天池竞赛/产品关联分析/product.csv",encoding="gbk")
#数据预处理——空值检测
pd.isnull(customer).sum()
pd.isnull(date).sum()
pd.isnull(order).sum()
pd.isnull(product).sum()

#数据预处理——重复值检测
customer.duplicated().sum()
date.duplicated().sum()
order.duplicated().sum()
product.duplicated().sum()

#对于订单表中完全重复数据进行删除,提高数据准确性
order.duplicated().sum()
order_1 = order.drop_duplicates()
order_1.duplicated().sum()

#直接提取相关数据
df1 = order_1[["订单日期","产品ID","客户ID","产品型号名称","产品名称"]]
df1

#关联规则中不考虑同一客户购买同样日期购买同样商品的数据
df1.drop_duplicates()

#使用groupby语句筛选同一客户在同一日期下购买的产品名称
df2 = df1.groupby(["订单日期","客户ID"]).apply(lambda x:x["产品名称"].tolist())
product_list=[list(set(i)) for i in df2]
product_list

#apriori需要使用mlxtend库
pip install mlxtend -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

支持度(Support):支持度可以理解为物品当前流行程度。 支持度 = (包含物品A的记录数量) / (总的记录数量)

置信度(Confidence):置信度是指如果购买物品A,有较大可能购买物品B。 置信度( A -> B) = (包含物品A和B的记录数量) / (包含 A 的记录数量) 结果(>1,提升;=1没有关联;<1降低)

提升度(Lift):提升度指当销售一个物品时,另一个物品销售率会增加多少。 提升度( A -> B) = 置信度( A -> B) / (支持度 A)

#导入库文件
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
te = TransactionEncoder()
one_hot = te.fit(product_list).transform(product_list)#apriori只支持特定格式数据,所以进行独热编码
data = pd.DataFrame(one_hot, columns=te.columns_)#用dataframe格式表示独热编码
#使用apriori频繁项集,后续关联规则使用
support = apriori(data,min_support=0.02,use_colnames=True)#min_support给定最小支持度为0.02
support.sort_values(by = "support")#查看支持度可以进行相关分析,当单个商品支持度大于组合商品支持度时,说明商品之间是排斥的

association_rules(df, metric="confidence", min_threshold=0.8, support_only=False):

参数介绍:

  • df:是 Apriori 计算后的频繁项集。
  • metric:可选值['support','confidence','lift','leverage','conviction']。 里面比较常用的就是置信度和支持度。这个参数和下面的min_threshold参数配合使用。
  • min_threshold:参数类型是浮点型,根据 metric 不同可选值有不同的范围, metric = 'support' => 取值范围 [0,1] metric = 'confidence' => 取值范围 [0,1] metric = 'lift' => 取值范围 [0, inf] support_only:默认是 False。仅计算有支持度的项集,若缺失支持度则用 NaN填充。
confidence = association_rules(support,metric="confidence",min_threshold=0.15)
confidence
#support表示支持度,confidence表示置信度,lift表示提升度,通过以上指标即可判定商品之间的关联性,反映准确商品堆放规则

超市产品关联性分析——天池竞赛相关推荐

  1. 用户情感可视化分析——天池竞赛

    数据链接:https://pan.baidu.com/s/1zzKSJJEhYr20aUtWSPgQWQ  提取码:1234 #导入相关库并读取数据 %matplotlib inline import ...

  2. 数据挖掘——如何利用Python实现产品关联性分析apriori算法篇

    在实际业务场景中,我们常常会探讨到产品的关联性分析,本篇文章将会介绍一下如何在Python环境下如何利用apriori算法进行数据分析. 1.准备工作 如果需要在Python环境下实现apriori算 ...

  3. 读《啤酒与尿布》——大型超市购物篮中商品关联性分析

    此书通过沃尔玛.家乐福等大型超经典销售案例分析,总结出人们购物车中商品内在关联.通过关联摆放促进销售额.大小超市.门店.销售人员可从书中案例吸取灵感.提升业绩.对于数据挖掘人员,有两处可借鉴:商品关联 ...

  4. 产品健康度模型(3) 指标关联性分析

    产品健康度模型之指标关联性分析 我们这里做关联性分析的目的就是找出运维指标和运营指标的相关程度.这里重新贴一下指标的结构图: 指标离散化 这里需要说明的是,这些指标可能是连续的,也有可能是离散的,比如 ...

  5. 如何 添加 implementation_如何用序列分类方式进行法律要素与当事人关联性分析 | 机器之心...

    在智慧司法领域中,针对法律裁判文书的分析和挖掘已经成为计算法学的研究热点.目前公开的裁判文书资料大都以长篇文本的形式出现,内容主要包含案号.当事人.案由.审理过程.裁判结果.判决依据等,篇幅较长.表述 ...

  6. 天池竞赛-津南数字制造算法挑战赛【赛场二】解决方案分享

    天池竞赛-津南数字制造算法挑战赛[赛场二]解决方案分享 一.前言 竞赛页面 团队名BugFlow,最终排名35/2157 虽然成绩一般,但是作为一支目标检测领域的新手队伍,仅仅有一块1070显卡,从零 ...

  7. 【机器学习】阿里云天池竞赛——工业蒸汽量预测(1)

    机器学习经典赛题:工业蒸汽量预测(1) 1. 赛题理解 1.1 背景 1.2 目标 1.3 数据概览 1. 数据描述 2. 数据说明 1.4 评估指标 1.5 赛题模型 1. 回归预测模型 2. 分类 ...

  8. 天池竞赛-资金流入流出预测总结

    天池竞赛-资金流入流出预测总结 1.竞赛背景 时序问题:根据2013年7月份到2014年8月份的用户数据,预测支付宝每日的资金流入流出情况. 数据集情况 数据集主要包括四个表格:1.用户信息表主要记录 ...

  9. 国内外教育机器人生产企业及产品情况分析

    国内外教育机器人生产企业及产品情况分析 一.南京紫光 1.企业情况介绍 公司名称:南京紫光科教仪器有限公司 公司地址:南京江东北路305号滨江广场2座20楼 ·公司规模:南京紫光科教仪器有限公司是一个 ...

最新文章

  1. JAV A获取项目路径
  2. es6+最佳入门实践(10)
  3. 【错误记录】Windows 控制台程序编译报错 ( WINDOWS.H already included. MFC apps must not #include <Windows.h> )
  4. B端产品经理思考-软硬产品设计
  5. 排序算法(快速排序)
  6. ICE专题:ICE简介
  7. 成为高手前必懂的TCP干货
  8. php mysql 正则表达式_mysql正则表达式(Regexp)的示例详解
  9. 力扣上的代码想在本地编译运行?
  10. Delphi使用ReportMachine制作小计和总计报表
  11. chmod755的含义
  12. 2021/06/20 1+X 大数据应用开发(Java)中级实操考试
  13. 洛谷p3764签到题3
  14. 求递推数列通项的特征根法
  15. 利用R语言编写量化投资策略
  16. [USACO18FEB] Rest Stops(贪心)
  17. 微信点餐html5模板,【瑞蚁原创分享】12:springboot微信点餐之微信模板
  18. Qt之QVector基本用法
  19. 2020IT网吧如何建立网吧电影系统
  20. thingsboard之边缘网关建立连接过程

热门文章

  1. 神舟十二号出征星辰大海--麒麟信安操作系统筑牢“千年飞天梦”软件基石
  2. 章节专题2021-整合管理
  3. 电路matlab搭建,MATLAB电路仿真搭建教程
  4. @Valid对页面传参的校验问题
  5. SEO站群优化排名用哪里的服务器比较好
  6. 孙正义与马云的故事:马云就是他心目中的那个人
  7. 所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。
  8. 2021年汽车驾驶员(技师)考试题及汽车驾驶员(技师)找解析
  9. 5G LTE窄带物联网(NB-IoT)8
  10. python创建excel新的表格_python创建Excel表格并添加工作表