【数据分析实践】客户流失判断--探索性数据分析

数据来源:客户流失判断

赛题理解

  1. 任务理解:建分类模型,判断客户是否流失,属于二分类问题
  2. 数据
    1). 数据理解:对字段要理解,每个字段有什么用
    2). 赛事提供了train、test_noLabel、samples_noLabel和submit_example这4个csv文件,对这4个文件也要清楚各是什么用;首先train是训练集,test_noLabel是无标签的测试集,submit_example是提交示例,samples_noLabel是无标签示例;起初我在查看4个文件后发现submit_example的ID就是test_noLabel的ID,所以以为测试集可以合并,然后提交的时候用samples_noLabel的预测结果去提交,在建模预测后提交结果发现并没用,提交的所需要的是test_noLabel的预测结果。所以。。为啥子要弄个samples_noLabel没什么用???

1.分析思路

  • 明确分析目的:
    1.预测哪些用户可能流失
    2.可能流失的客户有哪些特征
  • 确定分析思路:
    1.结合给出的数据字段,可以将客户流失大致分为三个维度:客户属性、客户消费行为、服务属性。
    2.首先从单个特征依次分析其与客户流失的关系,然后对特征之间的相关性进一步探索与可视化。
    在这里插入图片描述

2.探索性数据分析

2.1读取数据并查看

包括对数据类型的查看、检查数据集的缺失值情况、空值情况等。

train = pd.read_csv('train.csv')
test = pd.read_csv('test_noLabel.csv')
test_label1 = pd.read_csv('submit_example.csv')   # 这个是提交示例也好像没什么用
# 检查数据集大小
print('各个数据集的维度依次是:train_{},test_{},submission_{}'.format(train.shape,
                                                               test.shape,
                                                               test_label1.shape))
# 输出:各个数据集的维度依次是:train_(5227, 16),test_(1307, 15),submission_(1307, 2)
# 描述性统计
train.describe(include='all')

结论: 该数据集无缺失值也无空值。

接下来对整体数据的正负样例进行查看,发现数据集不是平衡数据集。

用饼图显示客户流失率:

2.2单一特征分析

《精益数据分析》第二章是对指标的介绍,其中指出好的数据指标是比率,仅通过对流失客户与非流失客户关于某个特征的频数计数,不能直接比较二者之间的客户流失率。
这段代码将直方图频数转换为百分比:

def barplot_percentages(df,feature):
    g=df.groupby(by=feature)['Label'].value_counts(1)
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值