Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
neuroai
neuroai
  • NeuralSet
    • Installation
    • Tutorials
      • Events
      • Studies
      • Transforms
      • Extractors
      • Segmenter & Dataset
      • Chains
    • Caching & Cluster Execution
    • Encoding & Decoding
    • API
      • neuralset.base.BaseModel
      • neuralset.base.Step
      • neuralset.base.Chain
      • neuralset.base.Frequency
      • neuralset.base.TimedArray
      • neuralset.events.study.Study
      • neuralset.events.study.SpecialLoader
      • neuralset.events.study.StudyInfo
      • neuralset.events.etypes.Action
      • neuralset.events.etypes.Artifact
      • neuralset.events.etypes.Audio
      • neuralset.events.etypes.Background
      • neuralset.events.etypes.BaseDataEvent
      • neuralset.events.etypes.BaseSplittableEvent
      • neuralset.events.etypes.BaseText
      • neuralset.events.etypes.CategoricalEvent
      • neuralset.events.etypes.Eeg
      • neuralset.events.etypes.Emg
      • neuralset.events.etypes.Event
      • neuralset.events.etypes.EyeState
      • neuralset.events.etypes.Fmri
      • neuralset.events.etypes.Fnirs
      • neuralset.events.etypes.Ieeg
      • neuralset.events.etypes.Image
      • neuralset.events.etypes.Keystroke
      • neuralset.events.etypes.Meg
      • neuralset.events.etypes.MneRaw
      • neuralset.events.etypes.Phoneme
      • neuralset.events.etypes.Seizure
      • neuralset.events.etypes.Sentence
      • neuralset.events.etypes.SleepStage
      • neuralset.events.etypes.Spikes
      • neuralset.events.etypes.Stimulus
      • neuralset.events.etypes.Text
      • neuralset.events.etypes.Video
      • neuralset.events.etypes.Word
      • neuralset.events.transforms.basic.AlignEvents
      • neuralset.events.transforms.basic.ConfigureEventLoader
      • neuralset.events.transforms.basic.CreateColumn
      • neuralset.events.transforms.basic.QueryEvents
      • neuralset.events.transforms.basic.RemoveMissing
      • neuralset.events.transforms.basic.SelectIdx
      • neuralset.events.transforms.text.EnsureTexts
      • neuralset.events.transforms.text.AddConcatenationContext
      • neuralset.events.transforms.text.AddContextToWords
      • neuralset.events.transforms.text.AddPartOfSpeech
      • neuralset.events.transforms.text.AddPhonemes
      • neuralset.events.transforms.text.AddSentenceToWords
      • neuralset.events.transforms.text.AddSummary
      • neuralset.events.transforms.splitting.AssignKSplits
      • neuralset.events.transforms.splitting.AssignSentenceSplit
      • neuralset.events.transforms.splitting.AssignWordSplitAndContext
      • neuralset.events.transforms.splitting.SklearnSplit
      • neuralset.events.transforms.audio.ExtractAudioFromVideo
      • neuralset.events.transforms.chunking.ChunkEvents
      • neuralset.extractors.base.BaseExtractor
      • neuralset.extractors.base.BaseStatic
      • neuralset.extractors.base.EventDetector
      • neuralset.extractors.base.EventField
      • neuralset.extractors.base.LabelEncoder
      • neuralset.extractors.base.Pulse
      • neuralset.extractors.neuro.ChannelPositions
      • neuralset.extractors.neuro.EegExtractor
      • neuralset.extractors.neuro.EmgExtractor
      • neuralset.extractors.neuro.FmriExtractor
      • neuralset.extractors.neuro.FnirsExtractor
      • neuralset.extractors.neuro.HrfConvolve
      • neuralset.extractors.neuro.IeegExtractor
      • neuralset.extractors.neuro.MegExtractor
      • neuralset.extractors.neuro.MneRaw
      • neuralset.extractors.neuro.SpikesExtractor
      • neuralset.extractors.audio.HuggingFaceAudio
      • neuralset.extractors.audio.MelSpectrum
      • neuralset.extractors.audio.SeamlessM4T
      • neuralset.extractors.audio.SonarAudio
      • neuralset.extractors.audio.SpeechEnvelope
      • neuralset.extractors.audio.Wav2Vec
      • neuralset.extractors.audio.Wav2VecBert
      • neuralset.extractors.audio.Whisper
      • neuralset.extractors.text.HuggingFaceText
      • neuralset.extractors.text.SentenceTransformer
      • neuralset.extractors.text.SonarEmbedding
      • neuralset.extractors.text.SpacyEmbedding
      • neuralset.extractors.text.TfidfEmbedding
      • neuralset.extractors.text.WordFrequency
      • neuralset.extractors.text.WordLength
      • neuralset.extractors.image.ColorHistogram
      • neuralset.extractors.image.HOG
      • neuralset.extractors.image.HuggingFaceImage
      • neuralset.extractors.image.LBP
      • neuralset.extractors.image.RFFT2D
      • neuralset.extractors.video.HuggingFaceVideo
      • neuralset.extractors.meta.AggregatedExtractor
      • neuralset.extractors.meta.CroppedExtractor
      • neuralset.extractors.meta.ExtractorPCA
      • neuralset.extractors.meta.HuggingFacePCA
      • neuralset.extractors.meta.TimeAggregatedExtractor
      • neuralset.extractors.meta.ToStatic
      • neuralset.segments.Segment
      • neuralset.dataloader.Segmenter
      • neuralset.dataloader.SegmentDataset
      • neuralset.dataloader.Batch
      • neuralset.events.transforms.utils.DeterministicSplitter
      • neuralset.events.transforms.utils.chunk_events
      • neuralset.events.transforms.splitting.SimilaritySplitter
    • Philosophy
    • Glossary
    • Contributing
  • NeuralFetch
    • Installation
    • Tutorials
      • Fetch Your First Study
      • Anatomy of a Study
      • Creating Your Own Study
    • Explore Brain Datasets
    • Sample Datasets
    • Contributing: New Studies
    • API
      • neuralfetch.download.BaseDownload
      • neuralfetch.download.Dandi
      • neuralfetch.download.Eegdash
      • neuralfetch.download.Datalad
      • neuralfetch.download.Donders
      • neuralfetch.download.Dryad
      • neuralfetch.download.Figshare
      • neuralfetch.download.Huggingface
      • neuralfetch.download.Openneuro
      • neuralfetch.download.Osf
      • neuralfetch.download.Physionet
      • neuralfetch.download.Synapse
      • neuralfetch.download.Zenodo
      • neuralfetch.utils.compute_study_info
      • neuralfetch.utils.update_source_info
      • neuralfetch.utils.root_study_folder
  • NeuralTrain
    • Installation
    • Tutorials
      • Data Pipeline
      • Model Configs
      • Metrics and Optimisation
      • Trainer and Experiments
    • Project Example
    • API
      • neuraltrain.models.base.BaseModelConfig
      • neuraltrain.losses.base.BaseLoss
      • neuraltrain.losses.base.BaseTorchLoss
      • neuraltrain.metrics.base.BaseMetric
      • neuraltrain.metrics.base.BaseTorchMetric
      • neuraltrain.optimizers.base.BaseOptimizer
      • neuraltrain.optimizers.base.LightningOptimizer
      • neuraltrain.optimizers.base.BaseTorchOptimizer
      • neuraltrain.optimizers.base.BaseLRScheduler
      • neuraltrain.optimizers.base.BaseTorchLRScheduler
      • neuraltrain.models.base.BaseBrainDecodeModel
      • neuraltrain.models.simpleconv.SimpleConv
      • neuraltrain.models.simpleconv.SimpleConvModel
      • neuraltrain.models.simpleconv.SimpleConvTimeAgg
      • neuraltrain.models.simpleconv.SimpleConvTimeAggModel
      • neuraltrain.models.simplerconv.SimplerConv
      • neuraltrain.models.simplerconv.SimplerConvModel
      • neuraltrain.models.transformer.TransformerEncoder
      • neuraltrain.models.conv_transformer.ConvTransformer
      • neuraltrain.models.conv_transformer.ConvTransformerModel
      • neuraltrain.models.conformer.Conformer
      • neuraltrain.models.linear.Linear
      • neuraltrain.models.linear.LinearModel
      • neuraltrain.models.dummy_predictor.DummyPredictor
      • neuraltrain.models.dummy_predictor.DummyPredictorModel
      • neuraltrain.models.fmri_mlp.FmriMlp
      • neuraltrain.models.fmri_mlp.FmriMlpModel
      • neuraltrain.models.fmri_mlp.FmriLinear
      • neuraltrain.models.fmri_mlp.FmriLinearModel
      • neuraltrain.models.reve.NtReve
      • neuraltrain.models.luna.NtLuna
      • neuraltrain.models.labram.NtLabram
      • neuraltrain.models.freqbandnet.FreqBandNet
      • neuraltrain.models.freqbandnet.FreqBandNetModel
      • neuraltrain.models.green.Green
      • neuraltrain.models.diffusion_prior.DiffusionPrior
      • neuraltrain.models.preprocessor.OnTheFlyPreprocessor
      • neuraltrain.models.preprocessor.OnTheFlyPreprocessorModel
      • neuraltrain.models.common.SubjectLayers
      • neuraltrain.models.common.FourierEmb
      • neuraltrain.models.common.ChannelMerger
      • neuraltrain.models.common.Mlp
      • neuraltrain.models.common.TemporalDownsampling
      • neuraltrain.models.common.LayerScale
      • neuraltrain.models.common.NormDenormScaler
      • neuraltrain.models.common.ChannelDropout
      • neuraltrain.models.common.BahdanauAttention
      • neuraltrain.losses.losses.MultiLoss
      • neuraltrain.losses.losses.ClipLoss
      • neuraltrain.losses.losses.SigLipLoss
      • neuraltrain.metrics.metrics.OnlinePearsonCorr
      • neuraltrain.metrics.metrics.Rank
      • neuraltrain.metrics.metrics.TopkAcc
      • neuraltrain.metrics.metrics.TopkAccFromScores
      • neuraltrain.metrics.metrics.ImageSimilarity
      • neuraltrain.metrics.metrics.GroupedMetric
      • neuraltrain.augmentations.augmentations.TrivialBrainAugment
      • neuraltrain.augmentations.augmentations.TrivialBrainAugmentConfig
      • neuraltrain.augmentations.augmentations.BandstopFilterFFT
      • neuraltrain.augmentations.augmentations.BandstopFilterFFTConfig
      • neuraltrain.augmentations.augmentations.ChannelsDropoutConfig
      • neuraltrain.augmentations.augmentations.FrequencyShiftConfig
      • neuraltrain.augmentations.augmentations.GaussianNoiseConfig
      • neuraltrain.augmentations.augmentations.SmoothTimeMaskConfig
      • neuraltrain.utils.run_grid
      • neuraltrain.utils.CsvLoggerConfig
      • neuraltrain.utils.WandbLoggerConfig
      • neuraltrain.utils.WandbInfra
      • neuraltrain.utils.BaseExperiment
      • neuraltrain.utils.StandardScaler
      • neuraltrain.utils.TimedIterator
      • neuraltrain.utils.convert_to_pydantic
  • NeuralBench
    • Installation
    • Quickstart
      • Running Your First Benchmark Task
      • Using the Python API
    • Visualizing Results
      • Visualizing Benchmark Results
    • Adding a New Task
      • Adding a New Downstream Task
    • Adding a New Model
      • Adding a New Model
    • Advanced
      • Modifying the Training Loop
    • EEG Foundation Challenge 2025 @NeurIPS
      • Reproducing tasks from the EEG Foundation Challenge 2025
    • Running the full EEG benchmark
    • API Reference
      • neuralbench.main.Data
      • neuralbench.main.Experiment
      • neuralbench.main.BenchmarkAggregator
      • neuralbench.pl_module.BrainModule
      • neuralbench.cli.run_benchmark
      • neuralbench.cli.run_benchmark_cli
      • neuralbench.transforms.TextPreprocessor
      • neuralbench.transforms.SklearnSplit
      • neuralbench.transforms.SimilaritySplit
      • neuralbench.transforms.PredefinedSplit
      • neuralbench.transforms.CropSleepRecordings
      • neuralbench.transforms.CropTimelines
      • neuralbench.transforms.AddDefaultEvents
      • neuralbench.transforms.OffsetEvents
      • neuralbench.callbacks.TestFullRetrievalMetrics
      • neuralbench.callbacks.RecordingLevelEval
      • neuralbench.callbacks.PlotConfusionMatrix
      • neuralbench.callbacks.PlotRegressionVectors
      • neuralbench.callbacks.plot_confusion_matrix
      • neuralbench.utils.TrainerConfig
      • neuralbench.utils.load_checkpoint
      • neuralbench.utils.compute_class_weights_from_dataset
      • neuralbench.utils.make_weighted_sampler
      • neuralbench.modules.DownstreamWrapper
      • neuralbench.modules.DownstreamWrapperModel
      • neuralbench.config_manager.setup_config
      • neuralbench.config_manager.load_config
      • neuralbench.config_manager.get_config
    • Downstream tasks
      • Age regression
      • Artifact classification
      • Audiovisual stimulus classification (MNE sample dataset)
      • Clinical event detection
      • Code-modulated visually evoked potential (c-VEP) classification
      • Alzheimer’s disease and dementia classification
      • Depression diagnosis classification
      • Emotion classification
      • Error related-negativity (ERN) classification
      • Image decoding
      • Lateralized readiness potential (LRP) classification
      • Mental arithmetic detection
      • Mental imagery classification
      • Mental Workload Classification
      • Mismatch negativity (MMN) classification
      • Motor execution classification
      • Motor imagery classification
      • N170 face perception classification
      • N2pc attention classification
      • N400 semantic processing classification
      • P3 classification
      • Parkinson’s disease diagnosis classification
      • Pathology detection
      • Psychopathology prediction
      • Reaction time prediction
      • Schizophrenia diagnosis classification
      • Seizure detection
      • Sentence decoding
      • Sex regression
      • Sleep arousal detection
      • Sleep stage classification
      • Speech decoding
      • Steady-state visually evoked potential (SSVEP) classification
      • Typing decoding
      • Video decoding
      • Word decoding
      • Image decoding
      • Typing decoding
      • Image decoding
    • Models
      • BENDR
      • BIOT
      • CBraMod
      • LaBraM
      • LUNA
      • REVE
  • Exca
Back to top
View this page
Edit this page

Error related-negativity (ERN) classification¶

Name: error-related negativity
Category: brain-computer interfacing
Dataset: Kappenman2021ErpErn
Objective: Binary classification
Split: Leave-subjects-out

Usage¶

neuralbench eeg ern
Show config.yaml
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the license found in the
# LICENSE file in the root directory of this source tree.

data:
  study:
    source:
      name: Kappenman2021ErpErn
    filter_valid_events:
      name: QueryEvents
      query: "(type == 'Eeg') | (code.isin([1, 2]))"
    split:
      name: SklearnSplit
      split_by: subject
      valid_split_ratio: 0.2
      test_split_ratio: 0.2
      valid_random_state: 33
      test_random_state: 33
  neuro.baseline: [0.0, 0.2]
  target:
    =replace=: true
    name: LabelEncoder
    event_types: Stimulus
    event_field: description
    return_one_hot: true
    aggregation: trigger
  trigger_event_type: Stimulus
  start: 0.6
  duration: 1.0
  summary_columns: [description]
compute_class_weights: true
brain_model_output_size: &brain_model_output_size 2
trainer_config.monitor: val/bal_acc
trainer_config.mode: max
loss:
  name: CrossEntropyLoss
  kwargs:
    label_smoothing: 0.1
metrics: !!python/object/apply:neuralbench.defaults.metrics.get_classification_metric_configs
  - *brain_model_output_size

Description¶

The error related-negativity (ERN) classification task involves identifying error-related potentials in EEG recordings. ERNs are brain responses elicited when a person makes a mistake, often used in BCI applications. In this task, we use the Kappenman2021ErpErn dataset [Kappenman2021], part of the ERP CORE (Compendium of Open Resources and Experiments), which contains EEG data from 40 subjects performing a flanker task that elicits ERN responses on error trials.

Additional Datasets¶

The following additional datasets from MOABB can also be used with this task:

  • Chavarriaga2010 (BNCI2015_013) – 6 subjects, observation-based ERN from a moving cursor paradigm

  • Kueper2024 (IntEr-HRI) – 8 subjects, error-related potentials from orthosis-induced movement errors

To run with an alternate dataset:

neuralbench eeg ern --datasets kueper2024

References¶

[Kappenman2021]

Kappenman, E. S., et al. “ERP CORE: An open resource for human event-related potential research.” NeuroImage 225 (2021): 117465.

Next
Image decoding
Previous
Emotion classification
Copyright © Meta Platforms, Inc. and affiliates
Made with Sphinx and @pradyunsg's Furo
On this page
  • Error related-negativity (ERN) classification
    • Usage
    • Description
    • Additional Datasets
    • References