This is a project concerning the use of Machine Learning in the context of Atrial Fibrillation (AF) detection. It covers the process performed to properly preprocess raw ECG signals, extract pertinent AF-related features, and leverage these features using Machine Learning models to discern whether an ECG recording shows Normal Sinus Rhythm or Atrial Fibrillation.
Our purpose is to reproduce the results obtained by a group of researchers from the Beijing University of Technology, who took part in the 2017 PhysioNet CinC Challenge.
- Detection of AF using Decision Tree Ensamble (F. Castellani, C. Boscarino, A. Lombardi from Politecnico di Milano)
- Reference paper (Shao et al. from Beijing University of Technology)
- 2017 PhysioNet CinC Challenge
The 2017 PhysioNet/CinC Challenge aims to encourage the development of algorithms to classify a short single lead ECG recording (between 30 s and 60 s in length) into one of the following categories:
- normal sinus rhythm,
- atrial fibrillation (AF),
- alternative rhythm,
- too noisy to be classified.
The recordings were collected using the AliveCor device, sampled at 300Hz and bandpass filtered on edge by the device itself. The training set contains 8,528 single lead ECG recordings lasting from 9 s to 60 s. The test set contains 3,658 ECG recordings of similar length.
All data are provided in MATLAB V4 WFDB-compliant format (each including a .mat file containing the ECG and a .hea file containing the waveform information).
- Clone the repository
git clone https://github.com/FilippoCastellani/CaBoLo
; - Verify that your MATLAB version is >= 2021 as this was the version used to develop the project;
- Open MATLAB and set the current folder to the one you just cloned.
- You may have to install some additional packages, like the Signal Processing Toolbox, the Statistics and Machine Learning Toolbox. There is no need to re-install the WFDB Toolbox as it is already included in the repository, however you may need to add it to the MATLAB search path.
- Filippo Castellani
- Chiara Boscarino
- Antonella Lombardi
Ca. Bo. Lo.