0Pricing
Learn AI with Python · 课时

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 聚类 — 插图 1

K-Means 的工作原理

K-Means 的工作原理

K-Means 按照以下步骤运行:

  1. 初始化 K 个随机质心。
  2. 将每个数据点分配给距离最近的质心。
  3. 将一个簇中所有数据点的均值重新计算为质心。
  4. 重复步骤 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 聚类 — 插图 10

常见问题解答

「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 反馈 — 无需本地设置。

此课程中的所有课时

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