Atrial fibrillation classification using step-by-step machine learning. (8th May 2018) - Goodfellow, Sebastian D; Goodwin, Andrew; Greer, Robert; Laussen, Peter C; Mazwi, Mjaye; Eytan, Danny
Abstract: This paper presents a detailed overview of our submission to the 2017 Physionet Challenge where competitors were asked to build a model to classify a single lead ECG waveform as either normal sinus rhythm, atrial fibrillation, other rhythm, or noisy. A step-by-step machine learning pipeline was assembled, which included signal conditioning, R-peak detection and filtering, and feature extraction. A suite of over 300 features, falling into one of three main feature groups; template features, RRI features, and full waveform features, were extracted from each waveform and an XGBoost, tree-based, gradient boosting classifier was used as the machine learning algorithm. The model produced a cross-validation F1 score of 0.8245, a hidden sub-test score of 0.82, and a hidden test score of 0.8125. The score breakdown for each class (normal sinus rhythm, atrial fibrillation, other rhythm, and noisy) was as follows: F1, NRS  = 0.9024, F1, AF  = 0.8156, F1, OR  = 0.7194, F1, Noise  = 0.5705.