👥
TT's Learning
← 返回首页
👥

客户聚类分析

使用K-Means算法对客户进行分群,理解客户行为特征,为精准营销提供支持。

进阶 30分钟 📁 customer_features.csv
学习进度
0%
0/4
已学习
0/5
练习
0
得分
第一章 聚类分析基础

1.1 什么是聚类分析

聚类分析是一种无监督学习方法,它将数据集中的对象分组,使得同一组内的对象相似度较高,而不同组间的对象相似度较低。

  • 无监督学习:不需要标签,自动发现数据中的模式
  • 相似度度量:衡量数据点之间的相似程度
  • 簇的定义:由相似数据点组成的集合
  • 聚类算法分类:划分式、层次式、密度式等

💡 聚类分析广泛应用于客户细分、市场定位、图像分割等领域。

1.2 常用距离度量

距离度量是聚类的基础,常用的距离包括欧氏距离、曼哈顿距离、余弦相似度等。

# 欧氏距离
distance = sqrt(sum((x_i - y_i)^2))

# 曼哈顿距离
distance = sum(|x_i - y_i|)

# 余弦相似度
similarity = (x · y) / (||x|| * ||y||)
第二章 K-Means算法

2.1 K-Means原理

K-Means是最常用的聚类算法之一,其目标是将n个对象划分为k个簇,使得每个簇内的对象到簇中心的距离最小。

  • 随机初始化k个簇中心
  • 计算每个点到各中心的距离
  • 将点分配到最近的簇
  • 更新簇中心为簇内点的均值
  • 迭代直到收敛

2.2 Python实现K-Means

使用scikit-learn实现K-Means聚类:

import pandas as pd
from sklearn.cluster import KMeans

# 创建客户数据
data = {
    'Age': [28, 35, 42, 25, 48, 31, 38, 29],
    'Income': [55000, 78000, 92000, 42000, 110000, 65000, 82000, 52000],
    'SpendingScore': [72, 85, 68, 45, 90, 58, 78, 62]
}
df = pd.DataFrame(data)

# 应用K-Means聚类
kmeans = KMeans(n_clusters=3, random_state=42)
df['Cluster'] = kmeans.fit_predict(df)

print(df)
💻 在线代码编辑器
第三章 确定最佳K值

3.1 肘部法则

肘部法则是确定最佳K值的常用方法,通过绘制不同K值的惯性(簇内平方和)曲线,找到曲线变缓的"肘部"点。

3.2 轮廓系数

轮廓系数是另一种评估聚类质量的指标,取值范围[-1, 1],值越大表示聚类效果越好。

第四章 客户细分实战

4.1 数据预处理

对客户数据进行标准化处理,确保各特征具有相同的尺度。

from sklearn.preprocessing import StandardScaler

# 数据标准化
scaler = StandardScaler()
scaled_data = scaler.fit_transform(df)

# 应用K-Means
kmeans = KMeans(n_clusters=4, random_state=42)
df['Cluster'] = kmeans.fit_predict(scaled_data)

4.2 结果分析

分析各个客户群体的特征,例如高收入高消费群体、高收入低消费群体、低收入高消费群体、低收入低消费群体。

练习题(共5题)

练习 1:创建客户数据

创建一个包含客户特征的数据集。

练习 2:使用K-Means聚类

使用K-Means算法对客户数据进行聚类。

练习 3:肘部法则

使用肘部法则确定最佳K值。

练习 4:数据标准化

对数据进行标准化后再进行聚类。

练习 5:客户细分分析

对客户数据进行聚类并分析各簇特征。

测试题(共 5 题,满分 100 分)

1. K-Means算法属于哪种学习类型?

2. K-Means算法的目标是什么?

3. 肘部法则用于确定什么?

4. 在聚类前进行数据标准化的目的是什么?

5. 以下哪种距离度量最常用在K-Means中?

🎉

测试完成!

0分

太棒了!继续努力!

返回首页 →
作业提交

📝 客户聚类分析作业

请完成以下任务:

  • 创建一个包含至少10个客户的数据集
  • 使用K-Means算法进行聚类
  • 使用肘部法则确定最佳K值
  • 分析各客户群体特征
💻 作业代码提交