Introduction: This work represents an entry to the 2020 PhysioNET Computing in Cardiology Challenge. From a 12-lead ECG signal, we attempt to determine if the ECG patterns are normal or if one or more of 8 different cardiac abnormalities are present.
Algorithm: Our algorithm can be divided into three main components: feature extraction, dimensionality reduction, and classification. In the feature extraction stage, we process the provided 12-lead ECG signals to determine various features. We consider time-domain features (average R-peak values, average RR-inverval times, etc.), frequency-domain features (average values for mean, skewness, and kurtosis of short-time spectra, etc.), wavelet features, and sparse coding features. After extracting the features, we reduce the dimensionality of the data using principal component analysis (PCA) and feature selection in an attempt to ease the computational requirements of the classifier while maintaining a high accuracy. After feature extraction and dimensionality reduction, we process each signal using two classification schemes. In the first, we use a deep neural network (DNN) with 9 output nodes to determine the results for all 9 classes (8 abnormalities plus a normal class) with one classifier. In the second, we use 9 different binary Support Vector Machines (SVMs). The final class labels for each 12-lead ECG signal are determined by analyzing the confidence of all classifiers.
Results: During the Unofficial Phase, our algorithm was scored on a subset of the unseen test data. We achieved an F_2 score of 0.556 and a G_2 score of 0.312, resulting in a Challenge score of 0.416.
Conclusion: Our work demonstrates that a machine learning approach consisting of feature extraction, dimensionality reduction, and classification has the potential to predict various cardiac abnormalities from 12-lead ECG signals.