数据降维技术全解析
1. 主成分分析(PCA)基础
主成分分析(PCA)是一种常用的数据降维技术,其核心目标是在尽可能保留数据方差的前提下,降低数据的维度。在使用PCA时,需要确保数据集以原点为中心。以下是使用NumPy的 svd() 函数获取训练集所有主成分,并提取前两个主成分对应的单位向量的Python代码:
import numpy as np
X_centered = X - X.mean(axis=0)
U, s, Vt = np.linalg.svd(X_centered)
c1 = Vt.T[:, 0]
c2 = Vt.T[:, 1]
需要注意的是,PCA假设数据集以原点为中心。如果自行实现PCA或使用其他库,务必先对数据进行中心化处理。而Scikit - Learn的PCA类会自动处理数据中心化。
2. 投影到d维空间
在确定所有主成分后,可以将数据集投影到由前d个主成分定义的超平面上,从而将数据集的维度降低到d维。这样做能确保投影尽可能保留数据的方差。例如,将3D数据集投影到由前两个主成分定义的2D平面上,可保留大部分数据方差。
投影公式为:$X_{d - proj}=XW_d$
以下是将训练集投影到由前两个主成分定义的平面上的Python代码:
W2 = Vt.T[:, :2]
X2D = X_centered.dot(W2)
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



