You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Prince库进行FAMD分析时如何关联输出与原始变量名?

Prince库FAMD分析关联原始变量名解决方案

Prine库的FAMD模块内置了变量与主成分相关性的计算结果,无需手动适配sklearn PCA的逻辑,直接调用内置属性即可完成关联,操作代码如下:

  1. 生成变量-主成分关联矩阵
# 拟合FAMD(原有代码无需修改)
famd = prince.FAMD(n_components=10, n_iter=3, copy=True, check_input=True, engine='auto', random_state=42)
famd = famd.fit(df_pca)

# 提取变量与主成分的相关系数矩阵,直接关联原始变量名
famd_corr = famd.column_correlations_
famd_corr_df = pd.DataFrame(
    famd_corr,
    index = df_pca.columns, # 行对应原始变量名
    columns = [f'PC{i+1}' for i in range(famd.n_components)] # 列对应生成的主成分
)

生成的famd_corr_df即为关联结果,单元格数值为对应变量和主成分的皮尔逊相关系数,绝对值越高代表该变量对对应主成分的解释力度越强。

  1. 提取每个主成分贡献最高的变量
    如果需要提取每个主成分对应贡献最高的变量,可基于上述关联矩阵直接计算:
# 按绝对值取每个主成分相关度最高的变量
pc_top_feature = famd_corr_df.abs().idxmax(axis=0)
# 整合解释方差等信息生成结果表
pc_result = pd.DataFrame({
    '主成分': pc_top_feature.index,
    '最高贡献变量': pc_top_feature.values,
    '相关系数': [famd_corr_df.loc[pc_top_feature[pc], pc] for pc in pc_top_feature.index],
    '解释惯性占比': famd.explained_inertia_
})

内容的提问来源于stack exchange,提问作者Marie M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 23:54:05