快学数据挖掘—数据探索—贡献度分析
贡献度分析
贡献度分析又称帕累托分析,它的原理是帕累托法则又称20/80定律。同样的投入放在不同的地方会产生不同的效益。例如,对一个公司来讲,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润。
帕累托图
帕累托图又叫排列图、主次图,是按照发生频率大小顺序绘制的直方图,表示有多少结果是由已确认类型或范畴的原因所造成。它是将出现的质量问题和质量改进项目按照重要程度依次排列而采用的一种图表。可以用来分析质量问题,确定产生质量问题的主要因素。按等级排序的目的是指导如何采取纠正措施:项目班子应首先采取措施纠正造成最多数量缺陷的问题。从概念上说,帕累托图与帕累托法则一脉相承,该法则认为相对来说数量较少的原因往往造成绝大多数的问题或缺陷
排列图用双直角坐标系表示,左边纵坐标表示频数,右边纵坐标表示频率.分析线表示累积频率,横坐标表示影响质量的各项因素,按影响程度的大小(即出现频数多少)从左到右排列,通过对排列图的观察分析可以抓住影响质量的主要因素.
帕累托法则往往称为二八原理,即百分之八十的问题是百分之二十的原因所造成的。帕累托图在项目管理中主要用来找出产生大多数问题的关键原因,用来解决大多数问题。
SPSS帕累托图
catering_dish_profit.xls
数据集下载地址
菜品ID | 菜品名 | 盈利 |
---|---|---|
17148 | A1 | 9173 |
17154 | A2 | 5729 |
109 | A3 | 4811 |
117 | A4 | 3594 |
17151 | A5 | 3195 |
14 | A6 | 3026 |
2868 | A7 | 2378 |
397 | A8 | 1970 |
88 | A9 | 1877 |
426 | A10 | 1782 |
帕累托图就餐饮企业来讲,应用贡献度分析可以重点改善某菜系盈利最高的前80%的菜品,或者重点发展综合影响最高的80%的部门。这种结果可以通过帕累托图直观地呈现出来。上图是海鲜系列的十个菜品A1~A10某个月的盈利额(已按照从大到小排序)。
分析结果
由上图可知,菜品A1~A7共7个菜品,占菜品种类数的70%,总盈利额约占该月盈利额的85%。根据帕累托法则,应该增加对菜品A1~A7的成本投入,减少对菜品A8~A10的投入以获得更高的盈利额。
Python程序
#coding: utf-8
# dish_pareto.py
import matplotlib.pyplot as plt
from numpy import nan as NA
import pandas as pd
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
# 读取数据源
xlsFilename = "catering_dish_profit.xls"
#df = pd.read_excel(xlsFilename, index_col='菜品名')
df = pd.read_excel(xlsFilename)
#---------------------------------------------------------------------
# 绘制帕累托图
#plt.figure()
# 绘制直方图
df1 = df.loc[:,['菜品名', '盈利']]
df1 = df1.sort_values('盈利', ascending = False)
df1 = df1.set_index('菜品名')
df1.plot(kind='bar')
# 绘制线段
# sum()是计算样本的总和;cumsum()是依次给出前1,2,3.。。n个数的和
df3 = 1.0 * df1['盈利'].cumsum() / df1['盈利'].sum()
df3.plot(color = 'r', secondary_y = True, style = '-o',linewidth = 2)
# 绘制标注
df3 = df3.reset_index(drop=True)
df4 = df3[df3>=0.8][0:1]
pointX = df4.index[0]
pointY = df4[pointX]
plt.annotate(format(pointY, '.2%'), xy = (pointX, pointY), xytext=(pointX*0.9, pointY*0.9), arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) #添加注释,即85%处的标记。这里包括了指定箭头样式。
# 设置标签
plt.ylabel('盈利(元)')
plt.ylabel('盈利(比例)')
plt.show()
快学数据挖掘—数据探索—贡献度分析相关推荐
- Datawhale组队学习-金融时序数据挖掘实践-Task01数据探索与分析
Datawhale组队学习-金融时序数据挖掘实践-Task01数据探索与分析 在二手车交易价格预测之后,本菜鸟又加入了金融时序数据挖掘实践的学习.两个项目都是结构化数据,都着重于对数据本身的探索. ...
- 资金流入流出预测—数据探索与分析
数据探索与分析 背景介绍 蚂蚁金服拥有上亿会员,每天都涉及大量的资金流入和流出,资金管理压力会非常大 在既保证资金流动性风险最小,又满足日常业务运转的情况下,精确地预测资金的流入流出情况变得尤为重要 ...
- 【算法竞赛学习】资金流入流出预测-挑战Baseline_数据探索与分析1
赛题简介 蚂蚁金服拥有上亿会员并且业务场景中每天都涉及大量的资金流入和流出,面对如此庞大的用户群,资金管理压力会非常大.在既保证资金流动性风险最小,又满足日常业务运转的情况下,精准地预测资金的流入流出 ...
- Datawhale~数据挖掘实践之序列问题处理~天池·资金流入流出预测-挑战Baseline~Day01~数据探索与分析
写在前面✍ 本系列笔记基于天池平台上"资金流入流出预测-挑战Baseline"学习赛,记录如何完整的打一次数据挖掘类比赛.同时,该比赛属于序列建模问题,希望学习完成这个任务,可以对 ...
- python数据处理和数据分析的区别_python数据处理(七)之数据探索和分析
1.探索数据 1.1 安装agate库 1.2 导入数据 1.3 探索表函数 a.排序 b.最值,均值 c.清除缺失值 d.过滤 e.百分比 1.4 连结多个数据集 a.捕捉异常 b.去重 c.缺失数 ...
- 数据挖掘--数据探索与数据预处理
文章目录 数据探索与数据预处理 数据理解 清除变量 分类型自变量 处理时间变量 异常值 极值 数据分箱 缺失数据 降维 过抽样与欠抽样 参考 黑体字为预处理相关的模型,即在使用这些模型时,需要关注到这 ...
- 机器学习之使用pandas进行数据探索---通过分析电信运营商的客户离网率数据集
pandas可以使用类似SQL的方式对.csv,;tsv,.xlsx等格式的数据进行处理分析 pandas主要使用的数据结构是series和dataFrame类. series是一种类似于一维数组的对 ...
- 初学数据挖掘——数据探索(三):数据特征分析之对比分析
一.对比分析: 对比分析是将两个相互联系的指标进行比较,从数量上展示和说明研究对象的各种关系(规模的大小.水平的高低.速度的快慢等)是否协调.分析其中的差异,从而揭示这些事物代表的发展变化情况以及变化 ...
- 【金猿产品展】亚信科技“数据探索分析平台”——深挖数据价值,助客户高效管理和经营生产...
亚信科技产品 本产品由亚信科技投递并参与"数据猿年度金猿策划活动--2020大数据产业创新服务产品榜单及奖项"评选. 大数据产业创新服务媒体 --聚焦数据 · 改变商业 亚信科技数 ...
- 如何学习大数据,到底怎么学?数据科学概论与大数据学习误区在哪
数据科学家走在通往无所不知的路上,走到尽头才发现,自己一无所知." 最近不少网友向我咨询如何学习大数据技术?大数据怎么入门?怎么做大数据分析?数据科学需要学习那些技术?大数据的应用前景等等问 ...
最新文章
- linux-dash安装和使用
- 在深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP
- LeetCode(72):编辑距离
- 智考优品职称计算机考试,智考优品Excel2003职称计算机考试模拟题.doc
- 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
- Kinect开发笔记之八C#实现Kinect声音的追踪
- 前端学习(3106):react-hello-jsx小练习
- 计算机编码中进制的区别,计算机中的进制和编码(转载)
- android apk 加密
- 联想微型计算机7360,我的电脑是联想启天M7360台式品牌机,想升级CPU,请问可以换什么CPU?...
- Linux下php导出excel失败且浏览器报错500
- Skype for business 界面自动弹出打开
- vbox安装深度linux,win10系统上用VirtualBox虚拟机安装国产深度deepin系统教程
- 排队服务系统仿真研究计算机模拟,基于蒙特卡洛方法排队系统性能的仿真优化研究...
- 5APMP项目管理:PMP考试备考经验学习方法和模拟考题(1-经验篇)
- 经济危机下如何建立防御性SOA战略
- MATLAB——LTI Viewer
- 【Android】自定义控件实现自动补齐邮箱后缀的输入框
- 同花顺数据获取思路及算法
- Python—计算方差、标准差
热门文章
- CTF.show:misc入门24-49
- Python--快速爬取千张高清壁纸
- 正常邮件被误判为垃圾邮件
- android注册页面开发
- 如何在亿级数据中判断一个元素是否存在?
- python r语言 作图_科学网—生物信息绘图之python绘图 - 孙朋川的博文
- 解决方案:Win C++ mingw编译器出现 不支持的16位程序问题
- zigbee抓包时为何时常出现这个not able to setup connection to device smartRF04EB
- SUPPA 可变剪切分析
- Python办公自动化之文件读写操作与Excel,csv,PDF文件