使用SVM进行癫痫检测

背景:

这是一片论文的简单复现只是还原思想,不知道是不是我看的不够仔细,我觉得论文说的也就是这样简单的操作

论文名称:Seizure prediction with spectral power of EEG using cost-sensitive support vector machines

有需要的同学可以好好看一下,论文中不仅仅只是检测,还有预测功能。

过程:

SVM Procces

代码:

一个单纯的SVM例子:

import numpy as np
import matplotlib.pyplot
from sklearn import svm
from numpy.fft import fft
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import GridSearchCVfrom sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix#数据预处理
def datapro():data = pd.read_csv(x_src, error_bad_lines=False,header=None)label = pd.read_csv(y_src, error_bad_lines=False,header=None)x = np.array(data.values)print(x)y = label.valuesreturn x,yif __name__ == '__main__':x_src = 'training_data/C3_P3_CZ_PZ.csv'y_src = 'training_data/data_y.csv'x,y = datapro(x_src,y_src)#train_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例选取train data和testdataX_train, X_test, y_train, y_test = train_test_split(x, y, test_size=1/3.) # 分割训练集和测试集# 标准化scaler = StandardScaler()X_train_std = scaler.fit_transform(X_train)X_test_std = scaler.transform(X_test)# 交叉验证,调整参数param_grid = {'C':[1e1,1e2,1e3, 5e3,1e4,5e4],'gamma':[0.0001,0.0008,0.0005,0.008,0.005,]}print(X_train_std.shape)print(y_train.shape)#cv 几叉验证clf = GridSearchCV(svm.SVC(kernel= 'rbf',class_weight='balanced',max_iter=6000,tol=0.01,probability=True),param_grid,cv=10)clf = clf.fit(X_train_std,y_train)print(clf.best_estimator_)print(clf.predict_proba(X_test_std))#打分clf.score(X_test_std,y_test)y_pred = clf.predict(X_test_std)#测试准确率print(classification_report(y_test,y_pred))print(confusion_matrix(y_test,y_pred))"""https://blog.csdn.net/akadiao/article/details/78788864precision: 识别为此类中正确的样本所占比例recall: 一类样本中被正确识别的概率"""

脑电图机器学习笔记(二):SVM 脑电波原信号和傅立叶变换的 癫痫信号检测相关推荐

  1. 机器学习(二)之无监督学习:数据变换、聚类分析

    文章目录 0 本文简介 1 无监督学习概述 2 数据集变换 2.1 预处理和缩放 2.2 程序实现 2.3 降维.特征提取与流形学习 2.3.1 主成分分析 2.3.2 非负矩阵分解 2.3.3 用t ...

  2. 脑电图机器学习笔记(一):机器学习脑电图.edf格式数据处理

    机器学习脑电图.edf格式数据处理 最近做了一个关于脑电图进行癫痫检测的项目,其中我用了CNN和SVM进行检测,刚开始就遇到了小问题,就是怎样获得.csv数据,水平不高,但是解决了问题下面给个简单的教 ...

  3. svm 交叉验证 python_【python机器学习笔记】SVM实例:有毒蘑菇预测

    假如我手上有一个未知的蘑菇,我知道它的一系列特征(伞盖形状.发现地点.颜色.气味等等),但是仅仅依靠个人的经验判断能不能吃难免会翻车,这就要用到更多的经验.大数据就很好地解决了这个个人经验缺乏的问题: ...

  4. 机器学习笔记二十四 中文分词资料整理

    一.常见的中文分词方案 1. 基于字符串匹配(词典) 基于规则的常见的就是最大正/反向匹配,以及双向匹配. 规则里糅合一定的统计规则,会采用动态规划计算最大的概率路径的分词. 以上说起来很简单,其中还 ...

  5. 机器学习笔记(二)模型评估与选择

    2.模型评估与选择 2.1经验误差和过拟合 不同学习算法及其不同参数产生的不同模型,涉及到模型选择的问题,关系到两个指标性,就是经验误差和过拟合. 1)经验误差 错误率(errorrate):分类错误 ...

  6. 机器学习笔记二 单型线性回归

    线性回归 (一)介绍 (二) 数学模型 2.1 一元线性回归公式 2.2 方差 - 损失函数 Cost Function 2.3 优化方法 Optimization Function 2.4 算法步骤 ...

  7. 吴恩达机器学习笔记二之多变量线性回归

    本节目录: 多维特征 多变量梯度下降 特征缩放 学习率 正规方程 1.多维特征 含有多个变量的模型,模型中的特征为(x1,x2,-xn), 比如对房价模型增加多个特征 这里,n代表特征的数量, x(i ...

  8. 机器学习笔记三—卷积神经网络与循环神经网络

    系列文章目录 机器学习笔记一-机器学习基本知识 机器学习笔记二-梯度下降和反向传播 机器学习笔记三-卷积神经网络与循环神经网络 机器学习笔记四-机器学习可解释性 机器学习笔记五-机器学习攻击与防御 机 ...

  9. 傅立叶变换在信号和图像视觉领域的应用

    ​按照某度的解释,傅立叶变换,是表示能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合.在不同的研究领域,傅立叶变换具有多种不同的变体形式,如连续傅立叶变换和离散傅 ...

最新文章

  1. Android4.0添加java层服务
  2. Python 爬虫原理实现自动google翻译
  3. 怎样在项目中使用git以及github管理(图文详解流程讲解)
  4. 使用Lambda 表达式注册Bean
  5. 阿里技术大神:你没做错啥,你错在啥都没做
  6. EF Core中高效批量删除、更新数据的Zack.EFCore.Batch发布三个新特性
  7. 【HDU - 1251 】统计难题(字典树,求拥有公共前缀的字符串数量)
  8. Atom飞行手册翻译: 4.4 Atom中的序列化
  9. 软件测试人员的三重境界
  10. 免费中文api文档!免费java帮助文档api中文版!!!!!
  11. 动态代理-cglib
  12. 面试之防火墙软硬件架构
  13. xbox one x驱动_如何在Windows,OS X和Linux上使用Xbox One控制器
  14. puzzle(105)幻方、幻圆、拉丁方
  15. 个人作业--四则运算3
  16. 码元、码元速率、波特率、比特率理解
  17. TBB简介和一个简单的示例
  18. MYSQL压力测试工具
  19. C语言return水仙花数,c语言(百合花)水仙花数的算法
  20. 正则表达式的基本语法汇总篇

热门文章

  1. Android毕业设计_基于Android的移动学习平台设计
  2. FreeSWITCH 挂机hook处理通用处理方案
  3. 计算机考试每一抖音的分数是,抖音权重1到10是什么意思?有什么用?
  4. 癌症将不再是不治之症,诺华CAR-T疗法获FDA专家全票推荐批准上市
  5. 【极简写作】Markdown 常用快捷键
  6. SitePoint播客#156:重访Paywalls
  7. EventBus简单应用
  8. CTF-Show-数学99
  9. 面试Java程序员必备的JVM知识
  10. ## 配置项props