Bootstrap

波恩大学癫痫数据集特征提取

介绍不多说了,这篇文章里有波恩癫痫数据集下载以及数据预处理程序

接下来讲一下怎么将单通道EEG信号的特征提取,提取后可以通过机器学习方法分类

具体原理是使用离散小波变换(db4)将单个样本EEG信号分解,取D3,4,5,6和A6,代表delta(A6),theta(D6) , alpha(D5)  ,beta(D4),gamma(D3) .然后计算五个子信号各自的总体标准差,然后组成特征向量,就提取出单个样本的特征了。之后计算集合A和集合E中的共200个样本,保存下来复制到excel做一张表就能通过机器学习进行分类了(使用svm,决策树之类的都可以,网上太多相关内容就不赘述了)。

集合A(正常人)的部分样本特征

 集合E(癫痫发作)的部分样本特征,可以看出来跟集合A有明显区别

特征提取代码,信号集合A_Z生成可以看开头的文章,wavedec函数需要下载专门的matlab Toolbox

M=[]
for i = 1:100
 w=A_Z(:,:,i)%取单个EEG信号

 [C,L] = wavedec(w,6,'db4');%6级分解


 [d3] = wrcoef('d',C,L,'db4',3);

 SD_gamma=std(d3,1)
 [d4] = wrcoef('d',C,L,'db4',4);

  SD_beta=std(d4,1)
 [d5] = wrcoef('d',C,L,'db4',5);

  SD_alpha=std(d5,1)
 [d6] = wrcoef('d',C,L,'db4',6);

  SD_theta=std(d6,1)

 [a6] = wrcoef('a',C,L,'db4',6);
 
  SD_delta=std(a6,1)

  SD=[SD_delta,SD_theta,SD_alpha,SD_beta,SD_gamma]
 M=[M;SD]%插入矩阵

end
save SD_A_Z.mat  M

;