Python实现聚类(Kmeans)分析客户分组

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: Python实现聚类(Kmeans)分析客户分组

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

image.png

image.png


1.问题定义

在日常银行、电商等公司中,随着时间的推移,都会积累一些客户的数据。在当前的大数据时代、人工智能时代,数据就是无比的财富。并且消费者需求显现出日益差异化和个性化的趋势。随着我国市场化程度的逐步深入,以及信息技术的不断渗透,对大数据的分析已是必然趋势。本案例就是使用机器学习聚类算法对客户进行分组,为销售人员进行精准营销提供帮助。

2.数据收集

本数据是模拟数据:

数据集:data.xcsv

在实际应用中,根据自己的数据进行替换即可。

特征:

Gender:性别

Age:年龄

Income:年收入

Spending:消费分数

3.数据预处理

1)原始数据描述

image.png

2)数据完整性、数据类型查看:

image.png

3)数据缺失值查看:

image.png

可以看到数据不存在缺失值。

4.探索性数据分析

1)特征变量年收入分析:

image.png

 

2)特征变量消费分数分析

image.png

3)相关性分析

image.png

说明:正值是正相关、负值时负相关,值越大变量之间的相关性越强。

5.聚类模型  

1)确定K值

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

image.png

通过手肘图上判断,肘部数字大概是3或4,我们选择4作为聚类个数。

 

2) 建立聚类模型,模型参数如下: 

 

编号

参数

1

n_clusters=4

2

init='k-means++'

 

其它参数根据具体数据,具体设置。 

 

3) 聚类算法结果输出

 

分群类别

第一类

第二类

第三类

第四类

样本个数

68

50

20

62

样本占比个数

34.00%

25.00%

10.00%

31.00%

聚类中心

Income

273933.0588

137054.8000

548719.4000

389187.8710

Spending

0.500147

0.494800

0.520000

0.504032

 

从上述表格可以看出,分群1占比34%,分群2占比25%,分群3占比10%,分群4占比31%

6.聚类可视化

1) 客户聚类结果图 

image.png

通过上图可以看到,黄色高亮得大点是聚类的质心,可以看到算法中的质心并不止一个。

 

2)聚类概率密度图

聚类群1的概率密度图:

image.png

聚类群2的概率密度图:

image.png

聚类群3的概率密度图:

image.png

聚类群4的概率密度图:

image.png

1) 分群1特点:年收入集中在30万,消费分数集中在0.50左右;

2) 分群2特点:年收入集中在10万~15万,消费分数集中在0.25和0.75

3)分群3特点:年收入集中在50万,消费分数集中在0.30和0.80

4)分群4特点:年收入集中在35万~40万万,消费分数集中在0.10和0.80

5)比对分析:分群3年收入高、分数高属于高价值人群;分群4年收入良好、消费分数综合良好,属于中等人群;分群1年收入一般、消费分数一般,属于一般人群;分群2年收入低、消费分数中等,属于价格较低的客户群体。

7.实际应用

根据数据聚类结果对客户的分组,在后面展开的营销活动中,我们可以采取差异化手段进行客户分类的精准营销,以提高消费成功率,使客户的整体消费感受更好。

聚类结果如下:

image.png

 

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:
 
链接:https://pan.baidu.com/s/1R2ux6m1nEIyGrQ1t3FU41A 
提取码:ysj5
相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
6天前
|
Python
Python sorted() 函数和sort()函数对比分析
Python sorted() 函数和sort()函数对比分析
|
8天前
|
数据采集 网络协议 调度
Python爬虫策略分析4
Python爬虫策略分析4
20 1
|
8天前
|
数据采集 前端开发 Python
Python爬虫策略分析3
Python爬虫策略分析3
11 1
|
8天前
|
数据采集 Python
Python爬虫策略分析1
Python爬虫策略分析1
10 1
|
10天前
|
Unix Linux C++
python优缺点分析11
python优缺点分析11
27 3
|
13天前
|
算法 搜索推荐 开发者
别再让复杂度拖你后腿!Python 算法设计与分析实战,教你如何精准评估与优化!
在 Python 编程中,算法的性能至关重要。本文将带您深入了解算法复杂度的概念,包括时间复杂度和空间复杂度。通过具体的例子,如冒泡排序算法 (`O(n^2)` 时间复杂度,`O(1)` 空间复杂度),我们将展示如何评估算法的性能。同时,我们还会介绍如何优化算法,例如使用 Python 的内置函数 `max` 来提高查找最大值的效率,或利用哈希表将查找时间从 `O(n)` 降至 `O(1)`。此外,还将介绍使用 `timeit` 模块等工具来评估算法性能的方法。通过不断实践,您将能更高效地优化 Python 程序。
30 4
|
11天前
|
算法 程序员 Python
程序员必看!Python复杂度分析全攻略,让你的算法设计既快又省内存!
在编程领域,Python以简洁的语法和强大的库支持成为众多程序员的首选语言。然而,性能优化仍是挑战。本文将带你深入了解Python算法的复杂度分析,从时间与空间复杂度入手,分享四大最佳实践:选择合适算法、优化实现、利用Python特性减少空间消耗及定期评估调整,助你写出高效且节省内存的代码,轻松应对各种编程挑战。
22 1
|
7天前
|
数据可视化 数据处理 Python
Python操作Excel:轻松实现数据处理与分析
Python操作Excel:轻松实现数据处理与分析
11 0
|
8天前
|
数据采集 JSON 前端开发
Python爬虫策略分析2
Python爬虫策略分析2
10 0
|
10天前
|
数据挖掘 Python
用python的tushare模块分析股票案例(python3经典编程案例)
该文章提供了使用Python的tushare模块分析股票数据的案例,展示了如何获取股票数据以及进行基本的数据分析。
12 0
下一篇
无影云桌面