Sklearn PCA 零组件示例

数据挖掘 scikit-学习 主成分分析
2021-09-28 04:01:25

我只是想从 sklearn 的文档中重复一个基准。

不清楚的部分是:n_components = np.arange(0, n_features, 5)他们正在应用 0 个分量的 PCA 变换!

请有人解释一下,这种变换的数学含义是什么?

1个回答

可以这样想:PCA“转换”k组件基本上近似于您的n维数据点,通过将它们投影到k维线性子空间,尽量不丢失太多的数据方差。

更准确地说,您所做的是代表您的原始点yRn作为:

yμ+Vx

在哪里xRk是低维的“新坐标”,μRn是您的数据的平均值,并且VRn×k是主成分向量的矩阵。

“新坐标”x告诉您需要执行多少步骤k 主成分,以达到最佳可能的线性近似 y 从开始您的旅行 μ.

现在,如果 k=0 模型变为:

xμ.

换句话说,您将所有数据建模为单个固定中心点。当然,您不需要在此处存储任何“新坐标”(因为您不需要远离均值),因此作为“变换”没有多大意义,但它仍然是,一个适当的概率模型(准确地说,是误差的高斯分布的最大似然拟合)。

特别是,您可以谈论此模型下数据的对数似然(即,直到仿射变换,等于此处的平方误差之和,但并不像您在一般情况下想象的那么微不足道)和我们可以比较各种模型,选择最有可能的模型。这正是您在问题中提到的文档的示例中所做的。