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

scikit-learn中CCA的x_loadings_属性具体代表什么?

scikit-learn CCA中x_loadings_属性的精确定义

scikit-learn的CCA类里,x_loadings_不是原始变量与典型变量的相关系数,它的精确定义是:将标准化后的原始变量X线性组合为第一组典型变量X_c的权重系数矩阵。

关键细节说明:

  • 典型变量X_c的生成逻辑就是原始标准化数据与该权重矩阵的乘积,对应你代码里transform方法的输出,即X_c = x_standardized @ ca.x_loadings_。
  • 这类权重系数没有“取值必须在[-1,1]区间”的约束——它的作用是通过线性组合让两组典型变量的相关性最大化,而非直接表示变量间的相关关系。你之前误以为“载荷是相关系数”是统计学部分场景的定义,但sklearn的CCA实现里的x_loadings_采用的是权重系数的定义,这就是为什么你会得到大于1的值。

补充:如何获取原始变量与典型变量的相关系数

如果需要得到原始变量X和典型变量X_c之间的相关系数(这部分才会落在[-1,1]区间),可以自行计算,示例代码如下:

import numpy as np
# 计算X标准化数据与典型变量X_c的相关系数矩阵
x_corr_with_canonical = np.corrcoef(x_standardized.T, X_c.T)[:x_standardized.shape[1], x_standardized.shape[1]:]
print(x_corr_with_canonical)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:24:54