主成分分析 (Principal Component Analysis, PCA)
PCA 是一种广泛应用的非监督学习技术,主要用于降维 (Dimensionality Reduction) 和特征提取 (Feature Extraction)。它能将高维数据转换为低维数据,同时尽可能多地保留原始数据的信息。
核心思想:寻找方差最大的方向
核心思想:想象一下,要将一幅立体的画(高维数据)拍成一张信息最丰富的照片(低维数据),你会选择哪个角度?PCA 的做法就是找到一个能最大程度保留画面内容(即数据方差)的投影角度。这个“最佳角度”就是第一主成分 (PC1)。第二个最佳角度是与 PC1 正交的第二主成分 (PC2),以此类推。
方差贡献率告诉我们每个主成分保留了多少原始数据的信息。通常,前几个主成分就能解释绝大部分的方差。
动手试试:
下面的散点图是一组二维数据。拖动滑块,将数据从 2D 降到 1D,观察数据点如何投影到第一主成分轴上,并查看方差贡献率的变化。
from sklearn.decomposition import PCA
# X: 原始二维数据
X = ...
# 创建 PCA 模型
# n_components: 要保留的主成分数量
pca = PCA(n_components=2)
X_transformed = pca.fit_transform(X)
# 查看方差贡献率
explained_variance = pca.explained_variance_ratio_
print(explained_variance)
方差贡献率: