K-Means 聚类项目
将其应用于真实数据集
K-Means 聚类项目 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 3 节课,共 5 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 5 节课。
K-Means 聚类项目
K-Means 聚类项目
在本项目中,我们将把 K-Means 聚类应用于一个真实世界的数据集:客户细分。目标是根据客户的消费模式对客户进行分组。

数据集概览
数据集概览
该数据集包含以下列:
- 客户 ID:每位客户的唯一标识符。
- 年龄:客户的年龄。
- 年收入:以千美元为单位的年收入。
- 消费评分:根据客户行为和消费模式分配的评分(1–100)。
第 1 步:导入数据集和库
第 1 步:导入数据集和库
我们将首先导入必要的库并加载数据集:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())步骤 2:数据预处理
步骤 2:数据预处理
我们将选择与聚类相关的特征,并在必要时对数据进行归一化处理。在本项目中,我们将使用年收入和消费评分:
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])第 3 步:确定最佳簇数
第 3 步:确定最佳簇数
我们通过绘制不同 K 值对应的簇内平方和(WCSS),使用肘部法找出最佳簇数:
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()步骤 4:应用 K-Means 聚类
步骤 4:应用 K-Means 聚类
根据肘部法则,我们选择最佳的簇数量(例如 K=5),并对 K-Means 模型执行 fit 操作:
kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)
# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())第 5 步:可视化聚类结果
第 5 步:可视化聚类结果
我们可以在二维空间中绘制各个簇,以观察它们的分离情况:
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()步骤 6:解读簇
步骤 6:解读簇
每个簇代表一组消费模式相似的客户。例如:
- 簇 1:高收入,高消费。
- 簇 2:低收入,低消费。
- 簇 3:中等收入,高消费。
真实世界聚类中的挑战
真实世界聚类中的挑战
虽然聚类功能强大,但在真实世界的应用中仍会面临以下挑战:
- 高维度数据集。
- 含噪声或不完整的数据。
- 如何有意义地解读聚类结果。
总结与下一步
总结与下一步
在这个项目中,我们:
- 探索了一个真实世界的数据集。
- 应用了 K 均值聚类,并将结果进行了可视化。
- 解读了各个聚类,以了解客户行为。
接下来,我们将学习 PCA 和 t-SNE 等降维技术。

常见问题解答
「K-Means 聚类项目」课时是免费的吗?
是的 — 「K-Means 聚类项目」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 5 节课。
「K-Means 聚类项目」这节课中我会学到什么?
将其应用于真实数据集 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Learn AI with Python 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 5 节。
「K-Means 聚类项目」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Learn AI with Python 课中编写并运行代码吗?
能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 聚类算法简介
- K-Means 聚类
- K-Means 聚类项目
- 降维基础
- 降维应用