| Literature DB >> 34336169 |
Runchuan Li1,2, Wenzhi Zhang1,2, Shengya Shen3, Jinliang Yao1,2, Bicao Li4, Bing Zhou1,2, Gang Chen2, Zongmin Wang2.
Abstract
Arrhythmia is a common cardiovascular disease that can threaten human life. In order to assist doctors in accurately diagnosing arrhythmia, an intelligent heartbeat classification system based on the selected optimal feature sets and AdaBoost + Random Forest model is developed. This system can acquire ECG signals through the Holter and transmit them to the cloud platform for preprocessing and feature extraction, and the features are input into AdaBoost + Random Forest for heartbeat classification. The analysis results are output in the form of reports. In this system, by comparing and analyzing the classification accuracy of different feature sets and classifiers, the optimal classification algorithm is obtained and applied to the system. The algorithm accuracy of the system is tested based on the MIT-BIH data set. The result shows that AdaBoost + Random Forest achieved 99.11% accuracy with optimal feature sets. The intelligent heartbeat classification system based on this algorithm has also achieved good results on clinical data.Entities:
Mesh:
Year: 2021 PMID: 34336169 PMCID: PMC8289583 DOI: 10.1155/2021/9913127
Source DB: PubMed Journal: J Healthc Eng ISSN: 2040-2295 Impact factor: 2.682
Figure 1The overall architecture of the system.
Figure 2The logic design of the system.
Figure 3The ECG system function diagram.
Figure 4The framework of heartbeat classification algorithm.
Figure 5Example of two leads (II, V1) in an MIT-BIH arrhythmia database record 210 (10 sec).
Figure 6Interval diagram of normal heartbeat.
Figure 7The decomposition process of the 12-level wavelet packet (a).
Figure 8The decomposition process of the 12-level wavelet packet (b).
Algorithm 1AdaBoost ensemble algorithm steps.
Figure 9The process of generating the final classifier.
Experimental data statistics.
| Category | Training set | Test set | Total |
|---|---|---|---|
| N | 81,560 | 9,035 | 90,595 |
| S | 2,528 | 253 | 2,781 |
| V | 6,450 | 785 | 7,235 |
| F | 723 | 79 | 802 |
| Q | 7,248 | 793 | 8,041 |
Figure 10Common heartbeat category example.
The confusion matrix of classification results.
| n | s | v | f | q | |
|
| |||||
| N |
|
|
|
|
|
| S |
|
|
|
|
|
| V |
|
|
|
|
|
| F |
|
|
|
|
|
| Q |
|
|
|
|
|
Performance of AdaBoost + Random Forest model tested on set A.
| Prediction results | Evaluation standard (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,030 | 1 | 4 | 0 | 0 | 9,030 | 1,776 | 134 | 5 | 99.94 | 92.98 | 98.53 | 98.73 |
| S | 51 | 199 | 1 | 0 | 2 | 199 | 10,691 | 1 | 54 | 78.65 | 99.99 | 99.50 | 99.49 |
| V | 45 | 0 | 739 | 1 | 0 | 739 | 10,144 | 16 | 46 | 94.14 | 99.84 | 97.88 | 99.43 |
| F | 19 | 0 | 10 | 50 | 0 | 50 | 10,865 | 1 | 29 | 63.29 | 99.99 | 98.03 | 99.74 |
| Q | 19 | 0 | 1 | 0 | 773 | 773 | 10,150 | 2 | 20 | 97.48 | 99.98 | 99.74 | 99.79 |
Performance of AdaBoost + Random Forest model tested on set B.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | V | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,035 | 0 | 0 | 0 | 0 | 9,035 | 1,793 | 117 | 0 | 1.0 | 93.87 | 98.72 | 98.93 |
| S | 58 | 195 | 0 | 0 | 0 | 195 | 10,692 | 0 | 58 | 77.07 | 1.0 | 1.0 | 99.47 |
| V | 36 | 0 | 749 | 0 | 0 | 749 | 10,150 | 10 | 36 | 95.41 | 99.90 | 98.68 | 99.57 |
| F | 13 | 0 | 10 | 56 | 0 | 56 | 10,866 | 0 | 23 | 70.88 | 1.0 | 1.0 | 99.79 |
| Q | 10 | 0 | 0 | 0 | 783 | 783 | 10,152 | 0 | 10 | 98.74 | 1.0 | 1.0 | 99.91 |
Performance of AdaBoost + Random Forest model tested on set C.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | F | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 8,926 | 21 | 36 | 11 | 41 | 8,926 | 1,458 | 452 | 109 | 98.79 | 76.33 | 95.18 | 94.87 |
| S | 88 | 156 | 6 | 0 | 3 | 156 | 10,666 | 26 | 97 | 61.66 | 99.75 | 85.71 | 98.87 |
| V | 180 | 5 | 578 | 2 | 20 | 578 | 10,100 | 60 | 207 | 73.63 | 99.41 | 90.59 | 97.56 |
| F | 52 | 0 | 8 | 18 | 1 | 18 | 10,853 | 13 | 61 | 22.78 | 99.88 | 58.06 | 99.32 |
| Q | 132 | 0 | 10 | 0 | 651 | 651 | 10,087 | 65 | 142 | 82.09 | 99.36 | 90.92 | 98.10 |
Performance of AdaBoost + Random Forest model tested on set D.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 8,235 | 173 | 226 | 33 | 368 | 8,235 | 764 | 1,146 | 800 | 91.15 | 40.00 | 87.78 | 82.22 |
| S | 202 | 30 | 9 | 0 | 12 | 30 | 10,505 | 187 | 223 | 11.86 | 98.25 | 13.82 | 96.25 |
| V | 339 | 6 | 341 | 13 | 86 | 341 | 9,817 | 343 | 444 | 43.44 | 96.62 | 49.85 | 92.81 |
| F | 62 | 0 | 11 | 2 | 4 | 2 | 10,814 | 52 | 77 | 2.53 | 99.52 | 3.70 | 98.82 |
| Q | 543 | 8 | 97 | 6 | 139 | 139 | 9,682 | 470 | 654 | 17.53 | 95.37 | 22.82 | 89.73 |
Performance of AdaBoost + Random Forest model tested on set E.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | V | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,034 | 0 | 1 | 0 | 0 | 9,034 | 1,337 | 573 | 1 | 99.98 | 70.00 | 94.43 | 94.76 |
| S | 206 | 47 | 0 | 0 | 0 | 47 | 10,692 | 0 | 206 | 18.85 | 1.0 | 1.0 | 98.11 |
| V | 217 | 0 | 568 | 0 | 0 | 568 | 10,151 | 9 | 217 | 72.36 | 99.91 | 98.44 | 97.94 |
| F | 47 | 0 | 8 | 24 | 0 | 24 | 10,866 | 0 | 55 | 30.38 | 1.0 | 1.0 | 99.50 |
| Q | 103 | 0 | 0 | 0 | 690 | 690 | 10,152 | 0 | 103 | 87.01 | 1.0 | 1.0 | 99.05 |
Performance of AdaBoost + Random Forest model tested on set B, C.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,035 | 0 | 0 | 0 | 0 | 9,035 | 1,809 | 101 | 0 | 1.0 | 94.71 | 98.89 | 99.08 |
| S | 49 | 203 | 1 | 0 | 0 | 203 | 10,692 | 0 | 50 | 80.24 | 1.0 | 1.0 | 99.54 |
| V | 29 | 0 | 754 | 2 | 1 | 754 | 10,150 | 10 | 31 | 96.05 | 99.90 | 98.70 | 99.63 |
| F | 13 | 0 | 9 | 57 | 0 | 57 | 10,864 | 2 | 22 | 72.15 | 99.98 | 96.61 | 99.78 |
| Q | 10 | 0 | 0 | 0 | 783 | 783 | 10,152 | 0 | 10 | 98.74 | 1.0 | 1.0 | 99.91 |
Performance of AdaBoost + Random Forest model tested on set B, D.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,034 | 1 | 0 | 0 | 0 | 9,034 | 1,796 | 114 | 1 | 99.99 | 94.03 | 98.75 | 98.95 |
| S | 59 | 192 | 2 | 0 | 0 | 192 | 10,691 | 1 | 61 | 75.89 | 99.99 | 99.48 | 99.43 |
| V | 30 | 0 | 753 | 2 | 0 | 753 | 10,149 | 11 | 32 | 95.92 | 99.89 | 98.56 | 99.61 |
| F | 15 | 0 | 9 | 55 | 0 | 55 | 10,864 | 2 | 24 | 69.62 | 99.98 | 96.49 | 99.76 |
| Q | 10 | 0 | 0 | 0 | 783 | 783 | 10,152 | 0 | 10 | 98.73 | 1.0 | 1.0 | 99.91 |
Performance of AdaBoost + Random Forest model tested on set B, E.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,035 | 0 | 0 | 0 | 0 | 9,035 | 1,718 | 192 | 0 | 1.0 | 89.95 | 97.92 | 98.25 |
| S | 105 | 148 | 0 | 0 | 0 | 148 | 10,692 | 0 | 105 | 58.49 | 1.0 | 1.0 | 99.05 |
| V | 51 | 0 | 733 | 1 | 0 | 733 | 10,151 | 9 | 52 | 93.37 | 99.91 | 98.78 | 99.45 |
| F | 17 | 0 | 9 | 53 | 0 | 53 | 10,865 | 1 | 26 | 67.09 | 99.99 | 98.15 | 99.75 |
| Q | 19 | 0 | 0 | 0 | 774 | 774 | 10,152 | 0 | 19 | 97.60 | 1.0 | 1.0 | 99.83 |
Performance of AdaBoost + Random Forest model tested on set C, D.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 8,985 | 5 | 26 | 4 | 15 | 8,985 | 1,617 | 293 | 50 | 99.44 | 84.66 | 96.84 | 96.86 |
| S | 70 | 168 | 15 | 0 | 0 | 168 | 10,687 | 5 | 85 | 66.40 | 99.95 | 97.11 | 99.18 |
| V | 98 | 0 | 683 | 0 | 4 | 683 | 10,108 | 52 | 102 | 87.01 | 99.48 | 92.93 | 98.59 |
| F | 39 | 0 | 9 | 31 | 0 | 31 | 10,862 | 4 | 48 | 39.24 | 99.96 | 88.57 | 99.52 |
| Q | 86 | 0 | 2 | 0 | 705 | 705 | 10,133 | 19 | 88 | 88.90 | 99.81 | 97.37 | 99.02 |
Performance of AdaBoost + Random Forest model tested on set C, E.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,025 | 0 | 10 | 0 | 0 | 9,025 | 1,779 | 131 | 10 | 99.89 | 93.14 | 98.57 | 98.71 |
| S | 57 | 192 | 4 | 0 | 0 | 192 | 10,692 | 0 | 61 | 75.89 | 1.0 | 1.0 | 99.44 |
| V | 31 | 0 | 752 | 2 | 0 | 752 | 10,130 | 30 | 33 | 95.79 | 99.70 | 96.16 | 99.42 |
| F | 15 | 0 | 15 | 49 | 0 | 49 | 10,864 | 2 | 30 | 62.02 | 99.98 | 96.08 | 99.71 |
| Q | 28 | 0 | 1 | 0 | 764 | 764 | 10,152 | 0 | 29 | 96.34 | 1.0 | 1.0 | 99.74 |
Performance of AdaBoost + Random Forest model tested on set D, E.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,025 | 0 | 10 | 0 | 0 | 9,025 | 1,743 | 167 | 10 | 99.89 | 91.25 | 98.18 | 98.38 |
| S | 78 | 174 | 1 | 0 | 0 | 174 | 10,692 | 0 | 79 | 68.77 | 1.0 | 1.0 | 99.27 |
| V | 46 | 0 | 738 | 1 | 0 | 738 | 10,135 | 25 | 47 | 94.01 | 99.75 | 96.72 | 99.34 |
| F | 16 | 0 | 14 | 49 | 0 | 49 | 10,865 | 1 | 30 | 62.03 | 99.99 | 98.00 | 99.72 |
| Q | 27 | 0 | 0 | 0 | 766 | 766 | 10,152 | 0 | 27 | 96.59 | 1.0 | 1.0 | 99.75 |
Performance of AdaBoost + Random Forest model tested on set B, C, D.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,030 | 2 | 3 | 0 | 0 | 9,030 | 1,828 | 82 | 5 | 99.94 | 95.71 | 99.10 | 99.20 |
| S | 40 | 211 | 2 | 0 | 0 | 211 | 10,690 | 2 | 42 | 83.40 | 99.98 | 99.06 | 99.59 |
| V | 23 | 0 | 761 | 1 | 0 | 761 | 10,145 | 15 | 24 | 96.94 | 99.85 | 98.07 | 99.64 |
| F | 11 | 0 | 10 | 58 | 0 | 58 | 10,865 | 1 | 21 | 73.42 | 99.99 | 98.31 | 99.80 |
| Q | 8 | 0 | 0 | 0 | 785 | 785 | 10,152 | 0 | 8 | 98.99 | 1.0 | 1.0 | 99.93 |
Performance of AdaBoost + Random Forest model tested on set B, C, E.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,028 | 3 | 4 | 0 | 0 | 9,028 | 1,820 | 90 | 7 | 99.92 | 95.29 | 99.01 | 99.11 |
| S | 44 | 207 | 2 | 0 | 0 | 207 | 10,689 | 3 | 46 | 81.82 | 99.97 | 98.57 | 99.55 |
| V | 25 | 0 | 760 | 0 | 0 | 760 | 10,144 | 16 | 25 | 96.82 | 99.84 | 97.94 | 99.63 |
| F | 13 | 0 | 10 | 55 | 1 | 55 | 10,866 | 0 | 24 | 69.62 | 1.0 | 1.0 | 99.78 |
| Q | 8 | 0 | 0 | 0 | 785 | 785 | 10,151 | 1 | 8 | 98.99 | 99.99 | 99.87 | 99.92 |
Performance of AdaBoost + Random Forest model tested on set B, D, E.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,028 | 2 | 5 | 0 | 0 | 9,028 | 1,811 | 99 | 7 | 99.92 | 94.82 | 98.92 | 99.03 |
| S | 56 | 197 | 0 | 0 | 0 | 197 | 10,690 | 2 | 56 | 77.87 | 99.98 | 98.99 | 99.47 |
| V | 21 | 0 | 764 | 0 | 0 | 764 | 10,143 | 17 | 21 | 97.32 | 99.83 | 97.82 | 99.65 |
| F | 12 | 0 | 12 | 55 | 0 | 55 | 10,866 | 0 | 24 | 69.62 | 1.0 | 1.0 | 99.78 |
| Q | 10 | 0 | 0 | 0 | 783 | 783 | 10,152 | 0 | 10 | 98.74 | 1.0 | 1.0 | 99.91 |
Performance of AdaBoost + Random Forest model tested on set C, D, E.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,025 | 0 | 9 | 0 | 1 | 9,025 | 1,763 | 147 | 10 | 99.89 | 92.30 | 98.89 | 98.56 |
| S | 64 | 189 | 0 | 0 | 0 | 189 | 10,692 | 0 | 64 | 74.70 | 1.0 | 1.0 | 99.42 |
| V | 36 | 0 | 748 | 1 | 0 | 748 | 10,138 | 22 | 37 | 95.28 | 99.78 | 97.14 | 99.46 |
| F | 18 | 0 | 11 | 50 | 0 | 50 | 10,865 | 1 | 29 | 63.29 | 99.99 | 98.04 | 99.73 |
| Q | 29 | 0 | 2 | 0 | 762 | 762 | 10,151 | 1 | 31 | 96.09 | 99.99 | 99.87 | 99.71 |
Performance of AdaBoost + Random Forest model tested on set B, C, D, E.
| Result | Evaluation criteria (%) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | s | v | f | q | TP | TN | FP | FN | Se | Sp | +p | Acc | |
| N | 9,031 | 1 | 3 | 0 | 0 | 9,031 | 1,837 | 79 | 4 | 99.95 | 95.86 | 99.13 | 99.24 |
| S | 43 | 209 | 1 | 0 | 0 | 209 | 10,691 | 1 | 44 | 82.61 | 99.99 | 99.52 | 99.58 |
| V | 20 | 0 | 765 | 0 | 0 | 765 | 10,144 | 16 | 20 | 97.45 | 99.84 | 97.95 | 99.67 |
| F | 10 | 0 | 12 | 56 | 1 | 56 | 10,866 | 0 | 23 | 70.88 | 1.0 | 1.0 | 99.79 |
| Q | 6 | 0 | 0 | 0 | 787 | 787 | 10,151 | 1 | 6 | 99.24 | 99.99 | 99.87 | 99.94 |
Figure 11Confusion matrix of AdaBoost + Random Forest classification results tested on set B, C, D, E.
Classification results of different (n_estimators) numbers.
| Parameter (n_estimators) | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 |
| Accuracy (%) | 98.34 | 98.25 | 98.28 | 98.29 | 99.07 |
| 99.10 | 99.08 |
Accuracy of different classifiers performed with multiple-feature combinations.
| Feature set | Classifiers | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | B | C | D | E | GNB | LDA | LR | SVM | DT | GBDT | RF |
|
|
| 49.05 | 90.05 | 91.81 | 98.68 | 97.09 | 97.65 | 98.64 | 98.59 | ||||
|
| 55.86 | 92.79 | 93.94 | 98.96 | 97.73 | 98.37 | 98.91 | 98.84 | ||||
|
| 82.06 | 82.69 | 82.85 | 91.89 | 91.51 | 91.83 | 94.45 | 94.37 | ||||
|
|
| 82.55 | 82.55 | 85.42 | 79.62 | 85.55 | 79.15 | 79.92 | ||||
|
| 83.04 | 90.19 | 91.86 | 96.88 | 96.49 | 97.65 | 98.17 | 94.68 | ||||
|
|
| 56.38 | 93.31 | 94.47 | 99.00 | 97.73 | 98.53 | 98.91 | 98.97 | |||
|
|
| 69.63 | 92.77 | 93.92 | 98.96 | 97.78 | 98.39 | 99.02 | 98.83 | |||
|
|
| 69.14 | 92.76 | 93.92 | 98.51 | 97.41 | 98.53 | 98.92 | 98.15 | |||
|
|
| 85.23 | 83.99 | 85.05 | 95.08 | 94.23 | 94.66 | 96.88 | 96.59 | |||
|
|
| 84.09 | 92.19 | 93.60 | 97.25 | 96.98 | 98.14 | 98.43 | 98.51 | |||
|
|
| 83.03 | 90.24 | 91.88 | 96.91 | 96.65 | 97.60 | 98.16 | 98.24 | |||
|
|
|
| 56.63 | 94.16 |
|
|
| 98.66 |
| 99.09 | ||
|
|
|
| 69.63 | 94.16 | 95.81 | 98.66 | 97.78 |
| 99.04 | 98.99 | ||
|
|
|
| 69.09 | 92.95 | 94.04 | 98.51 | 97.24 | 98.45 | 98.85 | 98.92 | ||
|
|
|
| 84.09 | 92.25 | 93.62 | 97.28 | 97.02 | 98.15 | 98.46 | 98.44 | ||
|
|
|
|
| 69.59 |
| 95.82 | 98.66 | 97.73 | 98.64 | 99.00 |
| |
Comparison results with other implemented classification methods.
| Reference | Features | Classifier | Performance |
|---|---|---|---|
| Zhang et al. [ | ECG Morphology | SVM | Acc = 86.66% |
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
| Ghorbani Afkhami et al. [ | HOS | DT | Acc = 99.70% |
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
| Yang et al. [ | PCAnet | LinearSVM | Acc = 97.77% |
|
| |||
|
| |||
| + | |||
|
| |||
|
| |||
|
| |||
| Wang et al. [ | Medical features | RF | Acc = 99.08% |
| Statistical features | |||
| Morphological features | |||
|
| |||
| Ji et al. [ | ECG morphology | Faster R-CNN | Acc = 99.21% |
| Se = 98.06%; Sp = 99.45% | |||
|
| |||
| Sharma et al. [ | Morphological features | KNN | Acc = 98.10% |
| Wavelet transform |
| ||
|
| |||
|
| |||
|
| |||
|
| |||
| Li et al. [ | RR intervals | CraftNet | Acc = 89.25% |
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
| Proposed | ECG morphology | AdaBoost + RF | Acc = 99.11% |
| Intervals |
| ||
| QRS area |
| ||
| Wavelet coefficients |
| ||
|
| |||
|
| |||
Figure 12The result of clinical application of the algorithm.