首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ICA清除Python中的脑电数据

用ICA清除Python中的脑电数据
EN

Stack Overflow用户
提问于 2016-03-17 10:52:40
回答 1查看 2.1K关注 0票数 2

我致力于脑电信号处理方法,以识别P300 ERP。目前,我用一个数据向量来训练我的分类器,这些数据是我从原始64个通道中选择的子集中经过预处理的数据平均得到的。我直接使用来自EEG的值,而不是fft的频率特征。实际应用表明,该方法的分类精度达到了75%左右。我想通过使用ICA来对EEG数据进行一些改进。我读了很多教程和论文,我仍然有点困惑。我在python中实现了我的方法,所以我选择使用sklearn的FastICA。

代码语言:javascript
复制
from sklearn.decomposition import FastICA
self.ica = FastICA(n_components=64,max_iter=300)
icaSignal = self.ica.fit_transform(self.signal)

从25256个样本x64通道矩阵中得到原始源矩阵,也就是25256x64。问题是,我不太确定如何使用输出。

对这些部件进行平均处理,并以与信号相同的方式训练分类器,性能将降低到30%以下。所以这可能不是正确的方法。

我所读到的另一种方法是在这一点上拒绝某些成分--那些代表眨眼、肌肉活动等的成分。根据它们的频率和其他一些启发来做。-我对如何做到这一点也不太有信心。

在我拒绝了一些组件之后,下一步是什么?我应该试着平均那些留下的,用它们来给分类器喂食,还是现在我应该尝试在没有它们的情况下重建脑电信号--如果是的话,如何在蟒蛇身上这样做?我找不到任何关于重建步骤的信息。在matlab中可能要容易得多,所以没有人费心去写:

有什么建议吗?:)非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-06-13 20:36:25

我还没有为ICA使用Python,但是在这些步骤中,不管是Matlab还是Python,都不重要。

很难拒绝ICA组件,这是完全正确的。目前还没有被广泛接受的客观测量。眼睛闪烁(额叶通道的高电压),肌肉伪影(广谱覆盖,因为它是肌电信号,在周边通道)有一些特定的模式。如果您不知道从哪里开始,我建议您阅读一个名为EEGLAB的Matlab插件。这个UCSD小组有一些很好的材料来帮助你开始。

https://eeglab.org/

要回答你关于ICA重建的问题:在拒绝某些ICA成分后,您应该重建原始EEG而不使用它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36058424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档