Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PCA:不同数量的成分的相同解释方差比_Python_Linear Algebra_Covariance_Pca_Variance - Fatal编程技术网

Python PCA:不同数量的成分的相同解释方差比

Python PCA:不同数量的成分的相同解释方差比,python,linear-algebra,covariance,pca,variance,Python,Linear Algebra,Covariance,Pca,Variance,我在试着理解PCA。我有一个三维数据集,我建立了两个PCA模型,一个有2个分量,另一个有3个分量。然而,我不明白为什么两种PCA模型的解释方差比率是相同的 Model with 2 components: [ 0.60792494 0.31234679] Model with 3 components: [ 0.60792494 0.31234679 0.07972828] 如果您使用的两个模型的数据相同,那么如果您使用所有可能的组件,则解释的方差比率总和应为1。在您的例子中,前两个成分

我在试着理解PCA。我有一个三维数据集,我建立了两个PCA模型,一个有2个分量,另一个有3个分量。然而,我不明白为什么两种PCA模型的解释方差比率是相同的

Model with 2 components: [ 0.60792494  0.31234679]
Model with 3 components: [ 0.60792494  0.31234679  0.07972828]

如果您使用的两个模型的数据相同,那么如果您使用所有可能的组件,则解释的方差比率总和应为1。在您的例子中,前两个成分解释了约91%的变化。由于每个PCA分量都与前面的分量正交,因此添加的任何其他分量都将仅解释尚未解释的方差。因此,三组分模型的前两个组分将解释与二组分模型相同的数量,第三个组分将解释额外8%的变化


您使用的是python,可能是一个很好的直观介绍,示例可以在

中找到。如果您使用的数据对于两个模型都是相同的,那么如果您使用所有可能的组件,则解释的方差比应为1。在您的例子中,前两个成分解释了约91%的变化。由于每个PCA分量都与前面的分量正交,因此添加的任何其他分量都将仅解释尚未解释的方差。因此,三组分模型的前两个组分将解释与二组分模型相同的数量,第三个组分将解释额外8%的变化


您使用的是python,可能是一个很好的直观介绍和示例,可以在

中找到。假设您使用的是sklearn.decomposition.PCA(如果包括它,问题的形式会更好),文档中说:explained_variance_ratio_uu:array,[n_components]由每个选定组件解释的方差百分比。如果未设置n_分量,则存储所有分量,解释的方差之和等于1.0。基本上,主成分分析是找到构成数据集所跨越空间的所有基函数。每个组件都与每个基础相关联。假设您使用的是sklearn.decomposition.PCA(如果包含该选项,问题的形式会更好),文档中说:解释的方差比:数组,[n\u组件]每个选定组件解释的方差百分比。如果未设置n_分量,则存储所有分量,解释的方差之和等于1.0。基本上,主成分分析是找到构成数据集所跨越空间的所有基函数。每个组件都与每个基础相关联。