在Python中,可以使用sklearn.decomposition.PCA
来进行主成分分析,并计算变量对主成分的贡献。
下面是一个示例代码,说明如何使用PCA来计算变量对主成分的贡献:
from sklearn.decomposition import PCA
import numpy as np
# 创建一个样本矩阵,每行表示一个样本,每列表示一个变量
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 创建PCA对象
pca = PCA()
# 对样本矩阵进行PCA分析
pca.fit(X)
# 获取变量对主成分的贡献
contributions = pca.explained_variance_ratio_
# 打印每个变量对主成分的贡献
for i, contribution in enumerate(contributions):
print(f"Variable {i+1} contribution to principal components: {contribution}")
在上述代码中,首先创建了一个样本矩阵X
,其中每行表示一个样本,每列表示一个变量。然后创建了一个PCA对象pca
,并使用fit
方法对样本矩阵进行主成分分析。接着,通过调用explained_variance_ratio_
属性,可以获取每个变量对主成分的贡献。最后,通过遍历贡献列表,打印出每个变量对主成分的贡献。
运行上述代码,将得到以下输出:
Variable 1 contribution to principal components: 0.9924428900898056
Variable 2 contribution to principal components: 0.007557109910194687
Variable 3 contribution to principal components: 0.0
这表示第一个变量对主成分的贡献最大,其次是第二个变量,第三个变量对主成分的贡献为0。
下一篇:变量独立于setState