降维应用
使用 Python 实践 PCA
降维应用 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 5 节课,共 5 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 5 节课。
在 Python 中应用 PCA
在 Python 中应用 PCA
本课中,我们将应用主成分分析(PCA)来降低数据集的维度。这有助于在保留关键信息的同时简化数据集。

数据集概览
数据集概览
我们将使用鸢尾花数据集,其中包含花卉种类的测量数据:
- 特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度。
- 目标:种类(Setosa、Versicolor、Virginica)。
第 1 步:导入库和数据集
第 1 步:导入库和数据集
我们将首先导入必要的库并加载数据集:
import pandas as pd
from sklearn.datasets import load_iris
# Load Iris dataset
data = load_iris()
X = pd.DataFrame(data.data, columns=data.feature_names)
y = data.target
print(X.head())第 2 步:标准化数据
第 2 步:标准化数据
PCA 对数据的尺度比较敏感,因此我们使用 StandardScaler 对数据进行标准化:
from sklearn.preprocessing import StandardScaler
# Standardize the data
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)第 3 步:应用 PCA
第 3 步:应用 PCA
我们应用 PCA,将数据集降至 2 个主成分:
from sklearn.decomposition import PCA
# Apply PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)
print(f"Explained Variance Ratio: {pca.explained_variance_ratio_}")第 4 步:可视化 PCA 结果
第 4 步:可视化 PCA 结果
我们可以在二维空间中可视化转换后的数据集,以观察不同物种的分组情况:
import matplotlib.pyplot as plt
# Scatter plot of PCA results
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y, cmap='viridis')
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.title('PCA Results')
plt.colorbar(label='Species')
plt.show()第 5 步:解读 PCA 结果
第 5 步:解读 PCA 结果
PCA 图展示了数据在降维后的空间中的分布情况。同一物种的数据点往往会聚集在一起,这表明聚类效果良好。
PCA 的优势
PCA 的优势
PCA 具有以下优点:
- 降低数据维度,使数据更易于可视化。
- 去除噪声和冗余特征。
- 提高大型数据集的计算效率。
PCA 的挑战
PCA 的挑战
PCA 的一些局限性包括:
- 转换后特征的可解释性降低。
- 对特征的缩放方式敏感。
- 可能无法捕捉数据中复杂的非线性关系。
总结与下一步
总结与下一步
本课中,我们:
- 将 PCA 应用于鸢尾花数据集,以实现降维。
- 对结果进行了可视化,并观察了二维空间中的物种聚类。
- 讨论了 PCA 的优势与挑战。
接下来,我们将探索高级深度学习概念,从人工神经网络开始。

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