聚类相关 考试版(5)

1.案例简介某个餐饮公司因前期经验不善的影响而生意惨淡,现有位“接盘侠”接受了此餐厅。他为了扭转此现状,通过“充值 200 送 20 元”、“充 值 500 元送 50 元”等优惠方式办理了几百张就餐充值卡,若干个月后收集了 500 名顾客的“最近一次消费时间间隔”(R)、“消费频率”(F)、“消费总额”(M)三类消费行为数据。此 “接盘侠”试图利用此数据将客户进行分类成不同客户群,并评价这些客户群的价值,进行实行做到针对性服务。然而此“接盘侠”不懂得对这些数据进行分析,你可以帮助他吗?2.
摘要由CSDN通过智能技术生成

1.案例简介
某个餐饮公司因前期经验不善的影响而生意惨淡,现有位“接盘
侠”接受了此餐厅。他为了扭转此现状,通过“充值 200 送 20 元”、“充 值 500 元送 50 元”等优惠方式办理了几百张就餐充值卡,若干个月后
收集了 500 名顾客的“最近一次消费时间间隔”(R)、“消费频率”(F)、
“消费总额”(M)三类消费行为数据。此 “接盘侠”试图利用此数据将
客户进行分类成不同客户群,并评价这些客户群的价值,进行实行做
到针对性服务。然而此“接盘侠”不懂得对这些数据进行分析,你可以
帮助他吗?
2.先验知识
2.1 因此餐饮店员工的失误导致收集的数据存在属性值缺失的情况
2.2 此数据中各属性的量纲(单位)不一致;
2.3 “接盘侠”凭借“砖家”的经验得知需要将客户划分为 3 个群体(簇),
即优质客户、一般客户、低价值客户。
数据分析编程基础实验教程
3. 数据分析步骤解读
3.1 数据预处理:去除缺省值(pandas. dropna(…)方法)
3.2 数 据 归 一 化 : 因 各 属 性 存 在 量 纲 ( 单 位 ) 不一致
(sklearn.preprocessing.sclae()等类似方法)
3.3 数据聚类:利用欧式距离和 k-means 聚类对客户进行分群,聚类
结果如下图所示(注意:因初始“类”中心和停止准则的不同每个人得
到结果不一样)
3.4. 密度函数绘制
为了对群体进行识别。针对每个群体的每个属性画出概率密度函数图
像。(pandas.Series.plot(kind=“kde”)方法)
分群 2 特点:R 间隔分布在 0~30 天;消费次数集中在 0~12 次;消费金额
在 0~1800。
分群 3 特点:R 间隔相对较大,间隔分布在 30~80 天;消费次数集中在
0~15 次;消费金额在 0~2000。
对比分析:分群 1 时间间隔较短,消费次数多,而且消费金额较大,是消
费、高价值人群。分群 2 的时间间隔、消费次数和消费金额处于中等
水平,代表着一般客户。分群 3 的时间间隔较长,消费次数较少,消费金
额也不是特别高,是价值较低的客户群体
4.结论:
“接盘侠”老板很高兴,他准备摩拳擦开始指定策略?什么策略呢?
稳住高价值客服、。。。。。

import pandas as pd
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt


k = 3  # 聚类的类别
data = pd.read_csv('consumption_data.csv', index_col=0)  # 读取数据
data=data.dropna(axis=0,how='any') #删除nan
data_zs = 1.0*(data - data.mean())/data.std()  # 数据标准化

model = KMeans(3)  # 分为k类,n_jobs=1即不并发执行
model.fit(data_zs)  # 开始聚类
print('labels: \n', model.labels_)
print('cluster_centers_: \n', model.cluster_centers_)

r1 = pd.Series(model.labels_).value_counts()  # 将数组格式的labels转换为Series格式再统计各个类别的数目
r2 = pd.DataFrame(model.cluster_centers_)  # 将二维数组格式的cluster_centers_转换为DataFrame格式
r = pd.concat([r2, r1], axis=1)  # 横向拼接接(0是纵向),将r1变成一列拼接在r2的最右边,所有拼接的列的列名默认从0开始
r.columns = data.columns.tolist() + ['类别数目']  # 重命名表头
print('r: \n', r)

# 详细输出原始数据及其类别
output_data = pd.concat([data, pd.Series(model.labels_, index=data.index)<
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聆听我的召唤,菜鸟进化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值