BCI-EEG脑电数据处理
EEG脑电数据处理
脑电波(Electroencephalogram,EEG)是一种使用电生理指标记录大脑活动的方法,大脑在活动时,大量神经元同步发生的突触后电位经总和后形成的。它记录大脑活动时的电波变化,是脑神经细胞的电生理活动在大脑皮层或头皮表面的总体反映。脑机接口(BCI),是一种通过检测中枢神经系统活动并将其转化为人工输出,来替代、修复、增强、补充或者改善中枢神经系统的正常输出,从而改变中枢神经系统与内外环境之间的交互作用的技术。
一、十大基本步骤1、 定位通道位置
将EEG数据加载进eeglab之后,eeglab能够读取到的仅仅是每一个通道的名称和数值,但是它并不知道这个通道是位于头皮上的什么地方,因此我们需要加载进一个跟记录数据时相匹配的通道位置信息
eeglab中默认的文件是 standard-10-5-cap385(国际10-5系统)
2、删除无用通道
在EEGLAB中预处理数据的时候,使用ICA方式去除眼电成分,这种方式可以不用眼电通道数据的参与就可以进行。
3、滤波
滤波分为高通滤波,低通滤波,带通滤波和凹陷滤波。
高通滤波是指,高于某个频率的信号可以 ...
BigData-消息队列框架Apache Kafka入门、原理解析
Kafka–消息队列框架1、Kafka 基础架构
1)Producer :消息生产者,就是向kafka broker发消息的客户端;2)Consumer :消息消费者,向kafka broker取消息的客户端;3)Consumer Group (CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。4)Broker :一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic。5)Topic :可以理解为一个队列,生产者和消费者面向的都是一个topic;6)Partition:为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,一个topic可以分为多个partition,每个partition是一个有序的队列;7)Replica:副本,为保证集群中的某个节点发生故障时,该节点上的partition数据不丢失,且kafka仍然能够继续工作,kafka提供 ...
BigData--Apache Flume框架
Flume进阶1、Flume基本框架
1. Event
Event 是 Flume NG 数据传输的基本单元。类似于 JMS 和消息系统中的消息。一个 Event 由标题和正文组成:前者是键/值映射,后者是任意字节数组。
2. Source
数据收集组件,从外部数据源收集数据,并存储到 Channel 中。
Source类型
(1)监控后台日志:exec
(2)监控后台产生日志的端口:netcat
3. Channel
Channel 是源和接收器之间的管道,用于临时存储数据。可以是内存或持久化的文件系统:
Memory Channel : 使用内存,优点是速度快,但数据可能会丢失 (如突然宕机);
File Channel : 使用持久化的文件系统,优点是能保证数据不丢失,但是速度慢。
4. Sink
Sink 的主要功能从 Channel 中读取 Event ,并将其存入外部存储系统或将其转发到下一个Source ,成功后再从 Channel 中移除 Event 。
5. Agent
是一个独立的 (JVM) 进程,包含 Source 、 Channel 、 Sink 等组 ...
BCI--Python-EEG工具库MNE
Python-EEG工具库MNE一、环境配置安装MNE-python1pip install -U mne
测试1234567891011121314151617181920212223242526272829import mnefrom mne.datasets import sampleimport matplotlib.pyplot as plt# sample的存放地址,下面语法是从网络中获取数据集# data_path = sample.data_path()# 该fif文件存放地址fname = 'F:/data/MNE-sample-data/MEG/sample/sample_audvis_raw.fif'"""如果上述给定的地址中存在该文件,则直接加载本地文件,如果不存在则在网上下载改数据"""raw = mne.io.read_raw_fif(fname)"""案例:获取10-20秒内的良好的MEG数据# 根据type来选择 那些良好的MEG信号(良好的M ...
BigData--Hive数据仓库工具
Hive一、Hive入门1、Hive功能
1)Hive处理的数据存储在HDFS
2)Hive分析数据底层的实现是MapReduce
3)执行程序运行在Yarn上
2、Hive的优缺点优点
(1) 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。
(2) 避免了去写MapReduce,减少开发人员的学习成本。
(3) Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。
(4) Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。
(5) Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
缺点
(1)迭代式算法无法表达
(2)数据挖掘方面不擅长,由于MapReduce数据处理流程的限制,效率更高的算法却无法实现。
(3)Hive自动生成的MapReduce作业,通常情况下不够智能化
(4)Hive调优比较困难,粒度较粗
3、Hive架构
(1)解析器(SQL Parser):将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST进行语法分析,比如表 ...
BigData--Zookeeper介绍和使用
Zookeeper常用命令开启Zookeeper123[root@hadoop102 zookeeper-3.4.10]# /opt/module/zookeeper-3.4.10/bin/zkServer.sh start[root@hadoop103 zookeeper-3.4.10]# /opt/module/zookeeper-3.4.10/bin/zkServer.sh start[root@hadoop104 zookeeper-3.4.10]# /opt/module/zookeeper-3.4.10/bin/zkServer.sh start
查看状态1/opt/module/zookeeper-3.4.10/bin/zkServer.sh status
停止Zookeeper1/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop
1、Zookeeper工作机制
2、Zookeeper特点
1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。
2)集群中只要有半数以上节点存活 ...
BigData--Yarn资源调度器
Yarn资源调度器YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成
1、YARN架构
2、YARN工作机制
工作机制详解
(1)MR程序提交到客户端所在的节点。
(2)YarnRunner向ResourceManager申请一个Application。
(3)RM将该应用程序的资源路径返回给YarnRunner。
(4)该程序将运行所需资源提交到HDFS上。
(5)程序资源提交完毕后,申请运行mrAppMaster。
(6)RM将用户的请求初始化成一个Task。
(7)其中一个NodeManager领取到Task任务。
(8)该NodeManager创建容器Container,并产生MRAppmaster。
(9)Container从HDFS上拷贝资源到本地。
(10)MRAppmaster向RM 申请运行MapTask资源。
(11)RM将运行MapTask任务分配给另外 ...
BigData--Hadoop数据压缩
Hadoop数据压缩1、MR支持的压缩编码
压缩格式
hadoop自带?
算法
文件扩展名
是否可切分
换成压缩格式后,原来的程序是否需要修改
DEFLATE
是,直接使用
DEFLATE
.deflate
否
和文本处理一样,不需要修改
Gzip
是,直接使用
DEFLATE
.gz
否
和文本处理一样,不需要修改
bzip2
是,直接使用
bzip2
.bz2
是
和文本处理一样,不需要修改
LZO
否,需要安装
LZO
.lzo
是
需要建索引,还需要指定输入格式
Snappy
否,需要安装
Snappy
.snappy
否
和文本处理一样,不需要修改
Hadoop引入的编码/解码器
压缩格式
对应的编码/解码器
DEFLATE
org.apache.hadoop.io.compress.DefaultCodec
gzip
org.apache.hadoop.io.compress.GzipCodec
bzip2
org.apache.hadoop.io.compress.BZip2Codec
LZO
com.hadoop.c ...
BigData--MapReduce进阶(二)之工作机制
MapReduce进阶一、MapReduce工作流程1、工作流程(1)
2、工作流程(2)
shuffle是从第七步开始的到第十六步结束的,下面是shuffle过程详解
1)MapTask收集我们的map()方法输出的kv对,放到内存缓冲区中
2)从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件
3)多个溢出文件会被合并成大的溢出文件
4)在溢出过程及合并的过程中,都要调用Partitioner进行分区和针对key进行排序
5)ReduceTask根据自己的分区号,去各个MapTask机器上取相应的结果分区数据
6)ReduceTask会取到同一个分区的来自不同MapTask的结果文件,ReduceTask会将这些文件再进行合并(归并排序)
7)合并成大文件后,Shuffle的过程也就结束了,后面进入ReduceTask的逻辑运算过程(从文件中取出一个一个的键值对Group,调用用户自定义的reduce()方法)
二、Shuffle机制Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle。
1、Shuffle机制流程图
2、Partition分区1)自定义Pa ...
BigData--MapReduce进阶(一)之框架原理
MapReduce进阶(一)–框架原理1、InputFormatMapReduce数据流
2、MapTask并行度决定机制数据块:Block是HDFS物理上把数据分成一块一块。
数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。
1)一个Job的Map阶段并行度由客户端在提交Job时的切片数决定
2)每一个Split切片分配一个MapTask并行实例处理
3)默认情况下,切片大小=BlockSize
4)切片时不考虑数据集整体,而是逐个针对每一个文件单独切片
3、Job提交流程源码解析
4、FileInputFormat切片源码解析(input.getSplits(job))1)源码解析
2)切片机制
(1)简单地按照文件的内容长度进行切片
(2)切片大小,默认等于Block大小
(3)切片时不考虑数据集整体,而是逐个针对每一个文件单独切片
3)切片大小的参数配置
5、小文件切片–CombineTextInputFormat切片机制生成切片过程包括:虚拟存储过程和切片过程二部分。
...