0Pricing
Python Academy · 课时

K-Means 聚类

逐步理解其原理

K-Means 聚类 是 CoddyKit 上的免费 Python Academy 课时。 这是第 2 节课,共 5 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 5 节课。

K 均值聚类

K 均值聚类

K 均值是最常用的聚类算法之一。它通过最小化簇内距离,将数据划分为预先设定数量的簇(K)。

它通过迭代寻找最佳的簇分配结果和质心。

K-Means 聚类 — 插图 1

K 均值的工作原理

K 均值的工作原理

K 均值按以下步骤运行:

  1. 初始化 K 个随机质心。
  2. 将每个数据点分配给距离最近的质心。
  3. 将簇中所有点的均值重新计算为质心。
  4. 重复步骤 2 和 3,直到质心趋于稳定,或达到最大迭代次数。

选择簇的数量

选择簇的数量

K 的取值是一个关键参数。选择 K 的常用方法包括:

  • 肘部法:绘制不同 K 值对应的簇内平方和(WCSS),并寻找“肘部点”。
  • 轮廓系数:用于衡量各个簇之间的分离程度。

K 均值示例数据集

K 均值示例数据集

假设有一个数据集,其中的点分布在二维空间中。每个点都有:

  • X:水平方向上的坐标。
  • Y:垂直方向上的坐标。

K 均值会根据这些点之间的接近程度,将它们分成不同的簇。

在 Python 中实现 K 均值

在 Python 中实现 K 均值

我们将使用 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 均值的优势

K 均值的优势

K 均值具有以下优点:

  • 简单易懂,容易实现。
  • 适用于大型数据集,效率较高。
  • 当簇的边界清晰时,效果良好。

K 均值的局限性

K 均值的局限性

K 均值存在以下一些局限性:

  • 对质心的初始位置较为敏感。
  • 难以处理非球形簇。
  • 容易受到离群值和噪声数据的影响。

总结与后续步骤

总结与后续步骤

在本课中,我们学习了:

  • K 均值聚类的工作原理。
  • 如何使用肘部法等方法选择簇的数量。
  • 如何在 Python 中实现并可视化 K 均值。

接下来,我们将把 K 均值应用于真实世界的数据集,以获得实践经验。

K-Means 聚类 — 插图 10

常见问题解答

「K-Means 聚类」课时是免费的吗?

是的 — 「K-Means 聚类」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Python Academy 课程的其余内容,请升级到 CoddyKit PRO。 Python Academy 课程共包含 5 节课。

「K-Means 聚类」这节课中我会学到什么?

逐步理解其原理 你通过在浏览器中直接运行的动手代码来练习 Python Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Python Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Python Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 5 节。

「K-Means 聚类」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Python Academy 课中编写并运行代码吗?

能。每节 Python Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 聚类算法简介
  2. K-Means 聚类
  3. K-Means 聚类项目
  4. 降维基础
  5. 降维应用
← 返回 Python Academy