尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

03-Kmeans-顾客数据聚类分析

03-Kmeans-顾客数据聚类分析
📅 发布时间:2026/7/24 20:50:58

1. 需求分析

会员客户聚类分析。

2. 数据说明

这是 Kaggle 经典客户分群教学数据集,共 200 条商场会员脱敏样本,专门用于无监督聚类(K-Means 为主)入门练习,为模拟商业数据,无真实用户隐私。

商场客户分群数据集来源:Mall Customer Segmentation Data

字段名含义数据类型
CustomerID客户唯一编号整数,主键
Gender性别(Male/Female)分类变量
Age客户年龄数值
Annual Income (k$)年收入(单位:千美元)数值
Spending Score (1-100)商场消费打分,1 最低、100 最高,由消费金额 / 频次综合计算核心聚类数值

数据特征

  1. 无缺失值、无异常脏数据,清洗成本极低;
  2. 包含人口属性(性别、年龄)与消费经济属性(收入、消费分)两类特征;
  3. 核心分析维度:年收入 & 消费得分,二者常用来划分典型客群。

3. 建模

import pandas as pd from matplotlib import pyplot as plt from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score, calinski_harabasz_score

3.1 加载数据

# 1. 获取数据 data = pd.read_csv('./data/customers.csv') data.head()

3.2 数据预处理

# 2. 数据预处理 # 2.1 提取特征 x = data.iloc[:,3:5] x.head()

3.3 特征工程(无)

3.4 模型训练

确定k值;训练

# 4. 模型训练 # 4.1 确定k值 # 定义sse_list, sc_list, 记录不同k值的评估效果 sse_list = [] sc_list = [] for k in range(2,20): estimator = KMeans(n_clusters=k, max_iter=100, random_state=1234) estimator.fit(x) y_pre = estimator.predict(x) sse_list.append(estimator.inertia_) sc_list.append(silhouette_score(x, y_pre)) # 画图(sse肘部图、轮廓系数sc图) # 两张图放在1个画布中 plt.figure(figsize=(6,3)) plt.subplot(1,2,1) plt.plot(range(2,20), sse_list, marker='o', label='SSE') plt.grid() plt.title('SSE') plt.subplot(1,2,2) plt.plot(range(2,20), sc_list, marker='o', label='SC') plt.grid() plt.title('SC') plt.tight_layout() plt.show()

# 4.2 模型训练 # 根据sse肘部图和sc图,确定k值=5 estimator = KMeans(n_clusters=5, max_iter=100, random_state=1234) estimator.fit(x) y_pre = estimator.predict(x)

3.5 模型评估

# 5. 模型评估 print('sc指数:', silhouette_score(x, y_pre)) # [-1,1], 越接近1聚类效果越好;>0.5聚类良好;负数为大量样本错分,聚类失效 print('CH指数:', calinski_harabasz_score(x, y_pre)) # [0,inf], 越接近inf聚类效果越好 print('SSE的负数:', estimator.score(x)) # 越接近0聚类效果越好
# 画图 plt.figure(figsize=(6,5)) plt.scatter(x.iloc[:,0], x.iloc[:,1], c=y_pre) plt.xlabel(x.columns.tolist()[0]) plt.ylabel(x.columns.tolist()[1]) plt.scatter(estimator.cluster_centers_[:,0], estimator.cluster_centers_[:,1], marker='*', s=200, c='r') plt.title('K-Means') plt.show()

相关新闻

  • day8
  • 抖音下载神器:如何一键批量下载无水印视频的完整指南
  • Formality:比较点的验证状态和整体验证状态

最新新闻

  • DLSS Swapper终极指南:一键优化游戏性能的完整教程
  • 3000元价位全车汽车窗膜推荐:高 TSER 隔热膜选购技巧 - 资讯快报
  • 寄快递省钱全攻略:5个平台场景推荐 - 快递物流实时资讯
  • std::string 和 std::string_view
  • 5G站点光链路降级告警排查与处理——AAS光端口隐性故障定位
  • 实测推荐正规本地商家如意奢侈品黄金回收——2026年诸暨黄金回收市场真实探店 - 微城市网络

日新闻

  • 武汉卡地亚LOVE钻戒与钻石项链回收变现攻略|多家门店行情参考 - 大牌深度测评
  • 2026年无锡地区健康管理如何考量?四家机构业务体系概览
  • 2026图片去水印软件哪个好用 手机电脑免费工具盘点 - 免费软件工具方法教程

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号