0Pricing
Python For Kids · 课时

无监督学习

了解 K-Means 和层次聚类等聚类技术

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

无监督学习

无监督学习是一种机器学习类型,算法从无标签数据中学习模式。它通常用于聚类、降维和异常检测。

在本课中,您将探索 K-Means 和层次聚类等聚类技术。

无监督学习 — 插图 1

什么是无监督学习

无监督学习是在没有预定义标签的情况下分析和分组数据。它旨在识别数据中隐藏的结构或模式。

主要任务包括:

  • 聚类:将相似的数据点分组。
  • 降维:在保留重要信息的同时减少特征数量。

K-Means 聚类

K-Means 是一种常用的聚类算法,它根据特征相似度将数据划分为 K 个簇。让我们看看它是如何工作的:

# Example: K-Means Clustering
from sklearn.cluster import KMeans
import numpy as np

# Sample data
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])

kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)

层次聚类

层次聚类会构建树状结构(树状图)来对相似的数据点进行分组。它不要求预先指定簇的数量。

# Example: Hierarchical Clustering
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt

# Sample data
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]

linked = linkage(X, 'single')
dendrogram(linked)
plt.show()

降维

降维通过减少特征数量来简化数据,同时保留重要信息。主成分分析(PCA)是这项任务中常用的技术。

# Example: PCA
from sklearn.decomposition import PCA
import numpy as np

# Sample data
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])

pca = PCA(n_components=1)
X_reduced = pca.fit_transform(X)
print("Reduced Data:", X_reduced)

无监督学习的应用

无监督学习可用于:

  • 客户细分:根据客户行为对客户进行分组。
  • 异常检测:识别数据中的异常模式。
  • 图像压缩:在保留质量的同时减小图像大小。

可视化聚类结果

可视化聚类结果有助于理解数据点的分组情况。Matplotlib 和 Seaborn 可以用于此目的:

# Example: Visualizing clusters
import matplotlib.pyplot as plt

# Sample data and labels
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
labels = [0, 0, 0, 1, 1, 1]

for i in range(len(X)):
    plt.scatter(X[i][0], X[i][1], c='r' if labels[i] == 0 else 'b')
plt.show()

无监督学习中的挑战

无监督学习面临多项挑战,包括:

  • 确定簇的数量:K-Means 要求您提前指定簇的数量。
  • 可解释性:簇未必总是具有明确的含义。
  • 可扩展性:处理大型数据集可能需要大量计算。

无监督学习中的常见错误

以下是需要避免的一些错误:

  • 在 K-Means 中选择错误的簇数量。
  • 未能预处理数据,例如缩放特征。
  • 未经验证就过度解读聚类结果。

我们学到了什么

在本课中,您学习了:

  • 无监督学习的基础知识及其主要任务。
  • 如何实现 K-Means 和层次聚类。
  • 使用 PCA 进行降维的概念。
  • 无监督学习中的应用、挑战和常见错误。

做得很好!让我们进入下一个主题。

无监督学习 — 插图 11

常见问题解答

「无监督学习」课时是免费的吗?

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

「无监督学习」这节课中我会学到什么?

了解 K-Means 和层次聚类等聚类技术 你通过在浏览器中直接运行的动手代码来练习 Python For Kids,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Python For Kids 需要有经验吗?

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

「无监督学习」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 机器学习简介
  2. 使用 Scikit-Learn 进行监督学习
  3. 无监督学习
  4. 特征工程与选择
  5. 神经网络简介
  6. TensorFlow 与 Keras 简介
← 返回 Python For Kids