首页 > 编程语言 >Python基于K-Means聚类模型进行餐饮客户消费数据行为分析项目实战

Python基于K-Means聚类模型进行餐饮客户消费数据行为分析项目实战

时间:2025-01-03 10:55:07浏览次数:3  
标签:消费 Means Python 客户 分群 聚类 数据 总金额

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后关注获取。

1.项目背景

在当今竞争激烈的餐饮行业中,了解和分析顾客的消费行为对于提升客户满意度、优化菜单设计、提高运营效率以及制定精准营销策略至关重要。随着数据科学和机器学习技术的发展,企业能够利用这些先进技术从大量的消费数据中挖掘出有价值的信息,以支持决策制定。 

本项目旨在通过Python编程语言和K-Means聚类算法对某餐饮企业的客户消费数据进行深度分析。K-Means是一种常用的无监督学习算法,它能够根据给定的数据集将相似的对象归为同一类别,从而帮助我们识别出不同的客户群体及其特征。通过对不同客户群体的深入了解,餐厅可以更好地满足每个群体的需求,提供个性化的服务和产品推荐,最终实现业务增长。

该项目不仅有助于提升餐厅的市场竞争力,同时也为数据科学家提供了一个实战平台,用以练习和展示他们在数据处理、机器学习建模及商业洞察力方面的技能。

本项目使用Python基于K-Means聚类模型进行餐饮客户消费数据行为分析项目实战。 

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

ID

客户ID

2

R

最近一次消费时间间隔

3

F

消费频率

4

M

消费总金额 

数据详情如下(部分展示): 

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据:

关键代码:

3.2数据缺失查看

使用Pandas工具的info()方法查看数据信息:

从上图可以看到,总共有4个变量,数据中无缺失值,共100条数据。

关键代码:  

3.3数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。

关键代码如下:  

4.探索性数据分析

4.1 消费总金额折线

用Matplotlib工具的plot()方法绘制折线图:

4.2 消费总金额分布直方图 

用Matplotlib工具的hist()方法绘制直方图:

4.3 相关性分析

从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。

5.特征工程

5.1 手肘图法确定K值

通过手肘图法进行确定K值,手肘图如下:

通过手肘图上判断,肘部数字4之后,逐渐趋于平稳,我们选择4作为聚类个数。

6.构建聚类模型 

主要通过KMeans模型算法,用于目标聚类。   

6.1 构建模型

模型名称

模型参数

KMeans模型 

n_clusters=4

init='k-means++'

6.2 模型输出结果信息

分群类别

第一类

第二类

第三类

第四类

样本个数

15

32

30

23

样本占比个数

15.00%

32.00%

30.00%

23.00%

聚类中心

R

19.6000

24.5625

37.6667

20.1304

F

9.5333

10.5938

8.9000

9.6957

M

991.6033

264.9213

691.5027

536.8409

从上述表格可以看出,分群1占比15%,分群2占比32%,分群3占比30%,分群4占比23%。 

7.模型评估

7.1 客户聚类结果

上图是绘制的三维客户聚类结果图,黄色高亮的大点是聚类的质心。

7.2 聚类概率密度图

聚类群1的概率密度图:

聚类群2的概率密度图:

聚类群3的概率密度图:

聚类群4的概率密度图:

  1. 分群1特点:最近一次消费时间间隔集中在10左右,消费频率集中在8~11次,消费总金额集中在950元左右;
  2. 分群2特点:最近一次消费时间间隔集中在15左右,消费频率集中在8次左右,消费总金额集中在210~260元; 

3)分群3特点:最近一次消费时间间隔集中在4左右,消费频率集中在6~9次,消费总金额集中在650元;  

4)分群4特点:最近一次消费时间间隔集中在10左右,消费频率集中在5~9次,消费总金额集中在550~580元; 

5)比对分析:分群1年消费总金额高、消费频率高属于高价值人群;分群3消费总金额良好、消费频率良好,属于中等人群;分群4消费总金额一般、消消费频率一般,属于一般人群;分群2消费总金额低、消费频率中等,属于价格较低的客户群体。  

8.结论与展望

综上所述,根据数据聚类结果对客户的分组,在后面展开的营销活动中,我们可以采取差异化手段进行客户分类的精准营销,以提高消费成功率,使客户的整体消费感受更好。此模型可用于日常产品的建模工作。 

标签:消费,Means,Python,客户,分群,聚类,数据,总金额
From: https://blog.csdn.net/weixin_42163563/article/details/144860996

相关文章

  • 免费、无限制的Python翻译库translators
    最近在找翻译库,试过了一些翻译库,要么限制字符,要么限制调用次数,最后发现translators这个库没有任何限制,还封装了不同的翻译网站,使用的技术是模拟在网页操作翻译然后获取结果,试了一下感觉效果还不错,代码如下:1.安装pipinstalltranslators2.使用importtranslatorsastsdef......
  • python 移除 pdf 密码
    importthreadingfromPyPDF2importPdfReaderfromPyPDF2importPdfWriter#定义一个类在线程中共享信息classSharedState:def__init__(self):self.state=Trueself.lock=threading.Lock()defset_state(self,new_state):wit......
  • nodejs+vue+expressd协同过滤算法的毕业生租房平台java+python+php-计算机毕业设计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • 最新10个Python实战项目(附源码),Python学习必看项目!
    包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】!1.猜字游戏在这个游戏中,你必须一个字母一个字母的猜出秘密单词。如果你猜错了一个字母,你将丢掉一条命。正如游戏名那样,你需要仔细选择字母,因为你的生命数量非常有限。importrandom#生命次数lives......
  • (免费源码)计算机毕业设计必学必看 java、python、php、node.js、c#、APP、小程序、大数
     摘 要疫情之下,实体经济面临下行压力。2019年以来,新冠肺炎疫情卷土而来,各地地疫情防控形势严峻,许多中小微企业经营发展屡次遭受打击。面对疫情常态化的社会现实,为纾困中小企业,助力经济复苏,保障社会稳定运行,国家有关部门相继出台一系列政策“组合拳”,加大纾困支持力度,提振......
  • Python字符串
    目录基本操作常用方法        Python中的字符串是一种常用的数据类型,用于存储和操作文本数据。字符串可以包含字母、数字、符号和空格等字符。以下是一些基本的字符串操作和特性:基本操作创建字符串在Python中,字符串可以用单引号'、双引号"或者三引号'''或"""......
  • (免费源码)计算机毕业设计必学必看 万套实战教程 java、python、php、node.js、c#、APP
    摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,抗疫物资管理小程序被用户普遍使用,为方便用户能够可以随时进行抗疫物资管理小程序的数据信息管理,特开发了基于PHP南宁......
  • (免费源码)计算机毕业设计必学必看 万套实战教程 java、python、php、node.js、c#、APP
     摘 要随着我国经济迅速发展,人们对医疗管理的需求越来越大,各种医疗管理系统也都在被广泛应用,对于医疗管理的各种软件也是备受用户的喜爱,医疗管理系统被用户普遍使用,为方便用户能够可以随时进行医疗管理系统的数据信息管理,特开发了基于springboot医疗管理系统。医疗管理系......
  • (免费源码)计算机毕业设计必学必看 万套实战教程 java、python、php、node.js、c#、APP
    摘要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对高校课程实验系统等问题,对面向过程性考核的高校课程实验系统进行研究分析,然后开发设计出面向过......
  • Python----Python爬虫(re、bs4、pyquery、xpath、json的使用)
    一、正则表达式的使用1.1、正则表达式        正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了1.2、规则1.2.1、定位符字符描述^......