数据分析实践:航空公司客户价值分析

信息时代的来临使得企业营销焦点从产品转向了客户,客户关系管理,而客户关系管理的关键问题是客户分群。通过客户分群,区分无价值客户和高价值客户。

本次利用获取到的航空公司客户数据,结合RFM模型,采用K-Means聚类算法,分类出不同具有客户价值分群,以此学习kmeans算法的实际运用。

实现目标

(1)对原始数据集进行分析,提取我们需要使用的数据
(2)对抽取的数据进行数据清洗、特征构建和标准化等操作。
(3)基于RFM模型,使用K-Means算法进行客户分群。
(4)针对模型结果得到不同价值的客户。

实现

相关数据说明及代码意义可参考《Python数据分析与应用》第七章
数据air_data.csv下载
提取码:www

1.数据集分析
我们的数据集总共62 988条记录。其中包含了会员卡号、入会时间、性别、年龄、会员卡级别、工作地城市、工作地所在省份、工作地所在国家、观测的窗口结束时间、总累计积分、观测窗口的总飞行千米数、观测窗口内的飞行次数、平均乘机时间间隔和平均折扣系数等25个特征。如下所示:

import numpy as np
import pandas as pd
airline_data = pd.read_csv("D:\\myData\\code\\python\\data\\air_data.csv",encoding ="gb18030") 
print(airline_data.shape)
airline_data.head()

在这里插入图片描述

2.预处理航空客户数据:
(1)处理数据缺失值与异常值。

#去除票价为空的记录
exp1 = airline_data["SUM_YR_1"].notnull()
exp2 = airline_data["SUM_YR_2"].notnull()
exp = exp1 & exp2
airline_notnull = airline_data.loc[exp,:]
print("删除缺失记录后数据的形状为:", airline_notnull.shape)
删除缺失记录后数据的形状为: (62299, 44)

(2)丢弃票价为空的记录,丢弃票价为0、平均折扣率不为0、总飞行千米数大于0 的记录。

#清除异常数据,如票价为零,折扣为零,飞行距离小于大于零的数据
index1 = airline_notnull['SUM_YR_1'] != 0
index2 = airline_notnull['SUM_YR_2'] != 0
index3 = (airline_notnull['SEG_KM_SUM'] > 0) & (airline_notnull
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值