gpt4 book ai didi

python - 如何从 sklearn 的 CCA 模块中获得第一个典型相关性?

转载 作者:太空狗 更新时间:2023-10-29 21:52:16 25 4
gpt4 key购买 nike

在适用于 Python 的 scikit-learn 中,有一个模块调用 cross_decomposition,其中包含典型相关分析 (CCA) 类。我一直在试图弄清楚如何给出形状为 (n,m) 的第 2 类多维向量并获得第一个典型相关系数。查看文档,一个小示例脚本如下。

from sklearn.cross_decomposition import CCA
import numpy as np

U = np.random.random_sample(500).reshape(100,5)
V = np.random.random_sample(500).reshape(100,5)

cca = CCA(n_components=1)
cca.fit(U, V)

cca.coef_.shape # (5,5)

U_c, V_c = cca.transform(U, V)

U_c.shape # (100,1)
V_c.shape # (100,1)

我真的不明白如何使用这个类来获得两个矩阵之间的第一个典型相关性,这就是我所需要的。它似乎通常针对分类和预测问题,但我只需要第一个典型相关系数,仅此而已。我知道还有一些其他帖子与此有些相似,但问题仍未得到解答,最好的建议是更改为 MATLAB,这是一个非解决方案。任何帮助表示赞赏。

最佳答案

给定变换后的矩阵 U_cV_c,您确实可以像以前那样检索规范分量相关性,更一般地,对于具有 n_comp 的 CCA > 抄送:

result = np.corrcoef(U_c.T, V_c.T).diagonal(offset=n_comp)

现在,您不必自己转换您的数据,至少在训练数据的拟合过程中已经完成了。 scikit-learn 将分数存储在 CCA 实例中,因此:

score = np.diag(np.corrcoef(cca.x_scores_, cca.y_scores_, rowvar=False)[:n_comp, n_comp:])

将给出相同的结果,即 n_comp 标量值的向量,对应于分数或每对规范组件之间的相关性。

关于python - 如何从 sklearn 的 CCA 模块中获得第一个典型相关性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37398856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com