为何sklearn将PCA Loadings称为Components?术语疑问
PCA Components与Loadings的术语区分及sklearn实现说明
术语本质差异:
- PCA Components(主成分):指原始数据经PCA降维后得到的样本主成分得分矩阵,也就是你用
reduced_data = pd.DataFrame(pca.transform(df_scaled))获取的结果。每一行对应一个样本在主成分空间的坐标,每一列代表一个主成分维度。 - PCA Loadings(载荷):是描述原始变量对各主成分贡献程度的权重系数矩阵,对应PCA数学模型里的主成分特征向量。这正是sklearn中
pca.components_返回的内容,每一行对应一个主成分,列则对应原始变量的载荷权重。
- PCA Components(主成分):指原始数据经PCA降维后得到的样本主成分得分矩阵,也就是你用
sklearn API的命名特殊性:
你没有术语认知错误——sklearn的pca.components_命名确实容易混淆,它的字面意思是"components",但实际对应学术语境里的Loadings;而学术上的"PCA Components",指的是transform方法输出的降维后样本数据。这两个术语不能互换,只是sklearn的API命名和标准学术术语存在偏差。快速验证维度逻辑:
假设原始数据是n个样本、m个特征:pca.transform(df_scaled)输出n行k列矩阵(k为主成分数量),这是样本的主成分得分(学术上的PCA Components)pca.components_输出k行m列矩阵,这是主成分载荷矩阵(学术上的PCA Loadings)
内容的提问来源于stack exchange,提问作者insomniac
相关产品推荐
相关产品推荐

