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
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
- MI Dataset is extracted from dataset IIa, BCI competition IVand has been pre-precessed by Fabien Lotte.
- P300 Dataset is extracted from subject APM of UAM P300 Dataset using feature extraction described in here
- Finger flexion ECog dataset is extracted from dataset 4 from BCI competition IV
- 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