无监督学习
理解 K-Means 和层次聚类等聚类技术
无监督学习 是 CoddyKit 上的免费 Python Academy 课时。 这是第 3 节课,共 6 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 6 节课。
无监督学习
无监督学习
无监督学习是一种机器学习类型,其算法从未标记的数据中学习模式。它常用于聚类、降维和异常检测。
在本课中,您将探索 K-Means 和层次聚类等聚类技术。

什么是无监督学习
什么是无监督学习
无监督学习在没有预定义标签的情况下分析和分组数据,旨在识别数据中隐藏的结构或模式。
主要任务包括:
- 聚类:将相似的数据点分组。
- 降维:在保留重要信息的同时减少特征数量。
K-Means 聚类
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 均值算法要求您预先指定聚类数量。
- 可解释性:聚类结果可能并不总是具有明确的含义。
- 可扩展性:处理大型数据集可能需要大量计算资源。
无监督学习中的常见错误
无监督学习中的常见错误
以下是需要避免的一些错误:
- 在 K 均值算法中选择错误的聚类数量。
- 未能对数据进行预处理,例如缩放特征。
- 在没有验证的情况下过度解读聚类结果。
我们学到了什么?
我们学到了什么?
在本课中,您学习了:
- 无监督学习的基础知识及其主要任务。
- 如何实现 K 均值算法和层次聚类。
- 使用 PCA 进行降维的概念。
- 无监督学习的应用、挑战和常见错误。
做得很好!让我们进入下一个主题。

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