Matlab/Octave Machine Learning Toolbox for Brain-Computer Interfaces
Matlab M
Switch branches/tags
Nothing to show
Clone or download
Latest commit 2113e59 Nov 28, 2014


Matlab/Octave Machine Learning Toolbox for linear classification with applications in Brain-Computer Interfaces (BCI). This toolbox is distributed with GPL license along a tutorial chapter Machine learning for BCI in the book.


  • Linear models

    • Linear Discriminant Analysis (LDA)
    • Support Vector Machine (SVM)
    • Ridge Regression (RR)
  • Validation strategies

    • Hold-out
    • Random sampling
    • K-fold cross validation
    • Leave-one-out bootstrap
  • Performance measures (classification and regression)

    • Accuracy (ACC)
    • Area Under the ROC curve (AUC)
    • Cohen's Kappa (k)
    • Means Square Error (MSE)
    • Correlation coefficient (corr)
  • Demo Datasets

    • Motor Imagery (MI) with CSP features
    • P300 Speller with temporal features
    • ECoG finger movement prediction dataset


  • Download current version here
  • Extract in a subfolder
  • Add path to Matlab/Octave with "addpath(genpath('path-to-mltool'))" to execute any function in the toolbox

Short Documentation

All functions in the toolbox contain detailled documentation with parameters definition.

  • classifier folder contains all the linear models estimation functions (only binary classification)
  • performance folder contains all the performance computation functions
  • validation folder contains all the pvalidation loops
  • figures folder contains the script used for generating figures in the chapter




  • Linear SVM Solver Copyright 2006 Olivier Chapelle
  • The computation of te Area under the ROC curve is performed using svmroccurve.m that has been extracted from SVM-KM