DEAP数据集下载指南:官方获取与 Python 读取

准备使用 DEAP 做脑电情感识别,可以先申请官方数据,再读取预处理文件。本页免费介绍获取入口、数据结构和 Python 示例,帮助你开始实验。

1. DEAP 数据集在哪里下载?

请从 DEAP 官方项目页进入下载申请。依据官方使用协议(EULA),需要签署协议、扫描并通过项目页的申请表提交;签署人须符合协议规定的研究机构身份要求,并使用机构邮箱。

  1. 查看官方项目页和使用协议,确认研究用途与申请资格。
  2. 按官方要求提交签署文件,等待管理员审核和访问安排。
  3. 获得访问权限后,在官方下载页选择需要的文件。Python 入门可选预处理版本,原始 BioSemi 文件适合自行设计预处理流程。

DEAP 的许可限学术研究,并限制数据分发和转售。请按官方协议取得和使用数据。本次核对时,官方部分页面访问不稳定;遇到无法打开,请稍后重试,申请流程以官方最新说明为准。

2. 下载后应该看到什么?

DEAP 记录了 32 名参与者观看 40 段一分钟音乐视频时的生理信号。预处理 Python 版本通常按参与者保存为 s01.dat 至 s32.dat。每个文件有两个主要数组:

字段形状含义
data(40, 40, 8064)试次 × 通道 × 采样点
labels(40, 4)依次为 valence、arousal、dominance、liking

其中前 32 个通道是 EEG。原始 EEG 的采样率为 512 Hz,预处理版本为 128 Hz;每试次 8064 点包含 3 秒基线和 60 秒刺激信号,不能把这两个版本的采样率混用。

数组结构见 AAAI 论文的 Dataset 节与表 1;文件组织、通道与基线处理可参阅 TorchEEG 项目文档。

3. Python 读取示例

在安装了 NumPy 的 Python 3 环境中,将文件路径换成你已获取的预处理数据。以下代码检查结构并取出 EEG 刺激段,不执行模型训练。

from pathlib import Path
import pickle

path = Path("data_preprocessed_python/s01.dat")
# 只读取官方获取、来源可信的文件
with path.open("rb") as f:
    subject = pickle.load(f, encoding="latin1")

data = subject["data"]
labels = subject["labels"]
print("data:", data.shape)
print("labels:", labels.shape)
assert data.shape == (40, 40, 8064)
assert labels.shape == (40, 4)

eeg = data[:, :32, :]
baseline = eeg[:, :, :3 * 128]
stimulus = eeg[:, :, 3 * 128:]
valence = labels[:, 0]
print("stimulus:", stimulus.shape)  # (40, 32, 7680)

encoding="latin1" 用于兼容旧版 Python 保存的 NumPy pickle 文件。pickle 只应读取可信文件;说明见 Python 官方文档。若形状不同,先检查是否拿到了其他格式或二次处理的数据。

4. 开始复现实验前,先统一这些设置

  • 标签:四列是评分维度。做二分类时,明确阈值和等于阈值时的归类规则,并与目标论文保持一致。
  • 基线:上例只分离基线与刺激段,未做基线校正。是否校正、如何校正,应按复现方法确定。
  • 训练与测试:先确定按被试还是按试次划分;同一试次切出的相邻窗口不要混入训练集和测试集,以免高估效果。
  • 结果比较:记录预处理、窗口长度、随机种子和评价指标。不同划分条件下的准确率不能直接比较。

需要 DEAP 情感识别算法源码?

本站另有付费源码商品:DEAP情感识别 动态图卷积神经网络源码 送数据集,当前标价 ¥29.00。购买前请查看实现方法、运行环境与交付说明;数据集的使用资格仍以官方许可为准。

查看付费源码与交付说明

本页由 Code Store 整理,是学习指南;官方项目、许可和相关研究文档已在对应段落列出。