The goal of the proposed work is to classify the ECG signals into 9 different classes using the data obtained from the 12 Lead ECG signal. The method uses convolutional neural network (CNN) to achieve this classification and incorporates separate thresholds for each class in a single model.
Method: The model uses only convolutional layers, batch normalizations, activation layers and a dense layer with an additional class dependent threshold. The class dependent threshold gives the benefit of optimizing the CNN for each of the class individually without the need of training separate models for each category. This property of the network makes it ideal for real time setup where one inference run of a single model is sufficient for multi-label and multi-class classification. The class dependent thresholds were chosen based on the ROC curve for each class respectively. In our experiment, we worked by splitting the initially released dataset comprising 6877 records into training (4470), validation (1031) and test (1376) sets. The network consists of 9 convolutional layers each with a kernel size of 11, filter size of 32, stride of 2 and the relu activation function. The network has a total of 84,735 trainable parameters and the 'categorical cross-entropy' was used as a loss function while training the network.
Result: The AUROC, AUPRC, accuracy and f-measure on the test set were 0.813, 0.458, 0.733 and 0.498. On the same test set Fbeta and Gbeta measure were 0.619 and 0.355, with 0.469 as their geometric mean. The same model gave Fbeta, Gbeta and their geometric mean as 0.597, 0.329 and 0.443 respectively when submitted for leaderboard evaluation.