K-Means 聚类
逐步理解其工作原理
K-Means 聚类 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 2 节课,共 5 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 5 节课。
K-Means 聚类
K-Means 聚类
K-Means 是最常用的聚类算法之一。它通过最小化簇内距离,将数据划分为预先确定数量的簇(K)。
它通过迭代寻找最佳的簇分配方案和质心。

K-Means 的工作原理
K-Means 的工作原理
K-Means 按照以下步骤运行:
- 初始化 K 个随机质心。
- 将每个数据点分配给距离最近的质心。
- 将一个簇中所有数据点的均值重新计算为质心。
- 重复步骤 2 和 3,直到质心稳定或达到最大迭代次数。
选择聚类数量
选择聚类数量
K 的取值是一个关键参数。选择 K 的常用方法包括:
- 肘部法:绘制不同 K 值对应的簇内平方和(WCSS),并寻找“肘部点”。
- 轮廓系数:衡量各簇的分离程度。
K-Means 示例数据集
K-Means 示例数据集
假设有一个数据集,其中的点分布在二维空间中。每个点包含:
- X:水平方向上的坐标。
- Y:垂直方向上的坐标。
K-Means 将根据这些点之间的接近程度,将它们分组到不同的簇中。
在 Python 中实现 K-Means
在 Python 中实现 K-Means
我们将使用 scikit-learn 库中的 KMeans 类来实现该算法:
from sklearn.cluster import KMeans
import numpy as np
# Example dataset
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# K-Means model
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)可视化簇
可视化簇
我们可以通过绘制数据点和质心来可视化这些簇:
import matplotlib.pyplot as plt
# Scatter plot of data points
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
# Plot cluster centers
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('K-Means Clustering')
plt.show()K-Means 的优点
K-Means 的优点
K-Means 具有以下优点:
- 简单易懂,易于实现。
- 适用于大型数据集,效率较高。
- 当簇的边界清晰时,效果良好。
K-Means 的局限性
K-Means 的局限性
K-Means 存在以下局限性:
- 对质心初始位置敏感。
- 难以处理非球形簇。
- 对离群值和噪声数据敏感。
总结与下一步
总结与下一步
本课中,我们学习了:
- K 均值聚类的工作原理。
- 如何使用肘部法等方法选择簇的数量。
- 如何在 Python 中实现并可视化 K 均值聚类。
接下来,我们将把 K 均值应用于真实数据集,以获得实践经验。

常见问题解答
「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 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 5 节。
「K-Means 聚类」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Learn AI with Python 课中编写并运行代码吗?
能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 聚类算法简介
- K-Means 聚类
- K-Means 聚类项目
- 降维基础
- 降维应用