使用支持向量机完成脑信号分类

简介: 使用支持向量机完成脑信号分类

一. 数据介绍


这里我们抽取整套数据的一部分,着重介绍一下癫痫患者的脑电信号和正常人的脑电信号。

癫痫患者的脑电信号截图:

image.pngimage.png

正常人的脑信号截图:

image.png

image.png

从信号截图可以看出数据类型为:double;数据维度为6x1000\



二. 数据预处理


这里我们组合癫痫患者的脑电信号,命名为AB(AB = [A001 B001]'; % 注意要组合成矩阵维度一致方可);同理我们组合正常人的脑电信号;


这里我们需要给数据进行贴上标签,AB(癫痫患者的脑电信号数据)命名为:-1

CD(正常人的脑电信号数据)命名为1


将这两类数据组合成为一个经典的二分类网络,后期可以使用fitcsvm进行二分类

组合后癫痫患者的脑电信号数据截图:


image.png

组合正常人的脑电信号数据截图:

image.png

从上述的数据中我们可以查看:1:6列为脑信号,第七列为标签数据。



支持向量机分类


在这里我偷懒,没有标准化和提取特征,大家自己做的时候可以加上,但不一定加上了就一定比不加的最终效果要好。


使用fitcsvm进行二分类使用径向基核训练 SVM 分类器,计算核函数的缩放值。对预测变量进行标准化。


fitcsvm交叉验证 SVM 分类器。这里使用默认 10 折交叉验证。


classLoss = kfoldLoss(CVSVMModel)  使用 kfoldLoss估计样本外的误分类率


SVMModel = fitcsvm(train_data, train_labels,'Standardize',true,'KernelFunction','RBF',...
    'KernelScale','auto');
CVSVMModel = crossval(SVMModel); 
classLoss = kfoldLoss(CVSVMModel)


相关文章
|
机器学习/深度学习 算法 计算机视觉
【信号去噪】基于鲸鱼算法优化VMD实现信号去噪附matlab代码
【信号去噪】基于鲸鱼算法优化VMD实现信号去噪附matlab代码
|
机器学习/深度学习
【信号检测】基于长短期记忆(LSTM)在OFDM系统中基于深度学习的信号检测(Matlab代码实现)
【信号检测】基于长短期记忆(LSTM)在OFDM系统中基于深度学习的信号检测(Matlab代码实现)
109 0
|
机器学习/深度学习 数据采集 算法
BP神经网络数据分类——语音特征信号分类(Matlab代码实现)
BP神经网络数据分类——语音特征信号分类(Matlab代码实现)
132 0
|
机器学习/深度学习 传感器 运维
【特征提取】基于麻雀算法优化VMD实现西储大学数据集故障信号特征提取附matlab代码
【特征提取】基于麻雀算法优化VMD实现西储大学数据集故障信号特征提取附matlab代码
|
机器学习/深度学习 传感器 算法
【信号去噪】基于北方苍鹰算法优化变分模态分解NGO-VMD实现信号去噪附Matlab代码
【信号去噪】基于北方苍鹰算法优化变分模态分解NGO-VMD实现信号去噪附Matlab代码
|
机器学习/深度学习 传感器 算法
【心电信号检测】基于小波时间散射网络(WTSN)和长短期记忆网络 (LSTM)实现ECG信号分类附matlab代码
【心电信号检测】基于小波时间散射网络(WTSN)和长短期记忆网络 (LSTM)实现ECG信号分类附matlab代码
|
机器学习/深度学习 传感器 运维
【信号去噪】基于麻雀算法优化VMD信号去噪(目标函数为包络熵局部极小值)附Matlab代码
【信号去噪】基于麻雀算法优化VMD信号去噪(目标函数为包络熵局部极小值)附Matlab代码
|
机器学习/深度学习 传感器 资源调度
【信号去噪】基于变分贝叶斯卡尔曼滤波器实现信号去噪附matlab代码
【信号去噪】基于变分贝叶斯卡尔曼滤波器实现信号去噪附matlab代码
|
机器学习/深度学习 传感器 人工智能
【语音识别】基于BP神经网络实现语音特征信号分类附matlab代码
【语音识别】基于BP神经网络实现语音特征信号分类附matlab代码
|
机器学习/深度学习 传感器 算法
【信号识别】基于小波时间散射和LSTM实现心电图(ECG)信号检测分类附matlab代码
【信号识别】基于小波时间散射和LSTM实现心电图(ECG)信号检测分类附matlab代码