数据探索中的贡献度分析

数据探索中的贡献度分析

贡献度分析又叫做帕累托分析,简单例子,如一个公司的80%的利润来自20%的产品,而其他80%的产品却只创造了20%的利润,这种分析对于机器学习中的样本选取意义有重要的作用

example

一个餐饮企业的产品为菜品,有的菜品销量好,有的差,通过分析可以选出贡献度大的产品,从而合理配备供给资源。
比如某月的菜品盈利如下

菜品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

画出帕累托图
菜品分析贡献度

代码如下

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import pandas as pd
print pd.__version__
DIR = os.path.dirname(__file__)

dish_profit = DIR + '/data/catering_dish_profit.xls'
data = pd.read_excel(dish_profit, index_col = u'菜品名')
data = data[u'盈利'].copy()
data.sort_values(ascending = False)

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

plt.figure()
data.plot(kind = 'bar')
plt.ylabel(u'盈利(元)')
p = 1.0*data.cumsum()/data.sum()
p.plot(color = 'r', secondary_y = True, style = '-o', linewidth = 2)
plt.annotate(format(p[6], '.4%'), xy = (6, p[6]), xytext = (6*0.9, p[6]*0.9), arrowprops = dict(arrowstyle = '->', connectionstyle = 'arc3, rad = .2'))
plt.ylabel(u'盈利(比例)')
plt.show()

作 者:小闪电

出处:链接

本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。如果觉得本文对您有益,欢迎点赞、欢迎探讨。本博客来源于互联网的资源,若侵犯到您的权利,请联系博主予以删除。

posted on 2017-06-14 14:17  小闪电  阅读(4465)  评论(0编辑  收藏  举报

导航