使用python的sklearn包实现CCA(典型相关分析)

背景:在实现ssvep时,要对EEG信号进行分析,找到刺激信号。可以用CCA(典型相关分析)计算不同刺激频率下,通道信号和模板信号的相关系数。

CCA的python实现:

import numpy as np
from sklearn.cross_decomposition import CCA

X = [[0, 0, 0] for i in range(2000)] #第一组因素(本例中为EEG的三个channel信号)
Y = [[0, 0, 0, 0, 0] for i in range(2000)] #第二组因素(本例中为模板信号)
#X和Y全部是0是会报错的

# 建立模型
cca = CCA(n_components=1)
#如果想计算第二主成分对应的相关系数cca = CCA(n_components=2)
# 训练数据
cca.fit(X, Y)
# 降维操作
# print(X)
X_train_r, Y_train_r = cca.transform(X, Y)
# print(X_train_r)
print(np.corrcoef(X_train_r[:, 0], Y_train_r[:, 0])[0, 1]) #输出相关系数
#如果想计算第二主成分对应的相关系数 print(np.corrcoef(X_train_r[:, 1], Y_train_r[:, 1])[0, 1])

  • 1
    点赞
  • 4
    评论
  • 13
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
<p> <span> </span> </p> <h3 class="ql-long-26664262"> <p style="font-size:13pt;"> <span> </span> </p> <div class="ql-long-26664262"> <span style="color:#337FE5;font-size:14px;">【为什么学Python】</span> </div> <p> <span><span style="font-weight:400;"><strong></strong></span></span> </p> <p style="font-size:13pt;"> <span style="color:#494949;font-weight:normal;font-size:14px;">Python 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。</span> </p> </h3> <p> <img alt="" src="https://img-bss.csdnimg.cn/202006020826291344.png" /><span style="font-size:14px;"></span> </p> <p> <span style="color:#494949;font-size:14px;">在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就选择了Python,并且开始着手出版《跟老齐学Python》。时至今日,已经无需争论。Python给我们带来的,不仅仅是项目上的收益,我们更可以从它“开放、简洁”哲学观念中得到技术发展路线的启示。</span> </p> <p> <br /> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">借此机会,老齐联合CSDN推出了本课程,希望能影响更多的人走进Python,踏入编程的大门。</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"><br /> </span> </p> <p> <span> </span> </p> <h3 class="ql-long-26664262"> <p> <span style="color:#337FE5;"><span style="font-size:14px;color:#337FE5;">【课程设计】</span></span> </p> <p style="font-size:12pt;"> <span style="font-size:14px;color:#494949;font-weight:normal;"><br /> </span> </p> <p style="font-size:12pt;"> <span style="font-size:14px;color:#494949;font-weight:normal;">本课程共含三大模块:</span> </p> </h3> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262 ql-size-12"><span style="color:#000000;font-size:14px;"><br /> </span></strong> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262 ql-size-12"><span style="color:#000000;font-size:14px;">一、基础知识篇</span></strong> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">内置对象和基本的运算、语句,是Python语言的基础。本课程在讲解这部分知识的时候,不是简单地将各种知识做简单的堆砌,而是在兼顾内容的全面性的同时,更重视向学习者讲授掌握有关知识的方法,比如引导学习者如何排查错误、如何查看和理解文档等。</span> </p> <p style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262 ql-size-12"><span style="color:#000000;font-size:14px;">二、面向对象篇</span></strong> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">“面向对象(OOP)”是目前企业开发主流的开发方式,本课程从一开始就渗透这种思想,并且在“函数”和“类”的学习中强化面向对象开发方式的学习——这是本课程与一般课程的重要区别,一般的课程只在“类”这里才提到“对象”,会导致学习者茫然失措,并生畏惧,乃至于放弃学习。本课程则是从开始以“润物细无声”的方式,渗透对象概念,等学习到本部分的时候,OOP对学习者而言有一种“水到渠成”的感觉。</span> </p> <p style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262 ql-size-12"><span style="color:#000000;font-size:14px;">三、工具实战篇</span></strong> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">在项目实战中,除了前述的知识之外,还会用到很多其他工具,至于那些工具如何安装?怎么自己做工具?有那些典型工具?都是这部分的内容。具体来说,就是要在这部分介绍Python标准库的应用以及第三方的安装,还有如何开发和发布自己的工具。此外,很多学习Python的同学,未来要么从事数据科学、要么从事Web开发,不论哪个方向,都离不开对数据库的操作,本部分还会从实战的角度,介绍如何用Python语言操作常用数据库。</span> </p> <p> <br /> </p> <p class="16" style="margin-left:21pt;text-indent:0pt;"> <span style="color:#E53333;"></span> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

wujwyi

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者