| Literature DB >> 34064735 |
Mujeeb Ur Rehman1, Arslan Shafique1, Sohail Khalid1, Maha Driss2,3, Saeed Rubaiee4.
Abstract
A little over a year after the official announcement from the WHO, the COVID-19 pandemic has led to dramatic consequences globally. Today, millions of doses of vaccines have already been administered in several countries. However, the positive effect of these vaccines will probably be seen later than expected. In these circumstances, the rapid diagnosis of COVID-19 still remains the only way to slow the spread of this virus. However, it is difficult to predict whether a person is infected or not by COVID-19 while relying only on apparent symptoms. In this context, we propose to use machine learning (ML) algorithms in order to diagnose COVID-19 infected patients more effectively. The proposed diagnosis method takes into consideration several symptoms, such as flu symptoms, throat pain, immunity status, diarrhea, voice type, body temperature, joint pain, dry cough, vomiting, breathing problems, headache, and chest pain. Based on these symptoms that are modelled as ML features, our proposed method is able to predict the probability of contamination with the COVID-19 virus. This method is evaluated using different experimental analysis metrics such as accuracy, precision, recall, and F1-score. The obtained experimental results have shown that the proposed method can predict the presence of COVID-19 with over 97% accuracy.Entities:
Keywords: COVID-19; forecasting; random forest; statistical analysis; supervised learning
Mesh:
Year: 2021 PMID: 34064735 PMCID: PMC8150959 DOI: 10.3390/s21103322
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1X-ray images for healthy and COVID-19 infected patients: (a–d) Normal patients X-ray (e–h) COVID-19 infected patients X-ray.
Some portion of the proposed dataset.
| Patient No. | Flue | Throat Pain | Immunity (Gut Flora) | Diarrhea | Voice Type | Body Temp (°C) | Smelling Issues | Joint Pain | Dry Cough | Vomiting | Breathing Problem | Headache | Chest Pain | COVID-19 Yes/No |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Patient-1 | 0 | 0 | 1 | 1 | 1 | 36 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-2 | 1 | 0 | 1 | 0 | 0 | 36 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-3 | 0 | 0 | 0 | 0 | 1 | 36 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-4 | 1 | 0 | 0 | 1 | 0 | 37 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | COVID-19 is not detected |
| Patient-5 | 1 | 0 | 1 | 0 | 0 | 36 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | COVID-19 is not detected |
| Patient-6 | 1 | 0 | 1 | 0 | 0 | 37 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-7 | 1 | 0 | 1 | 0 | 0 | 36.5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-8 | 1 | 0 | 1 | 0 | 1 | 37 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-9 | 1 | 0 | 1 | 0 | 1 | 36 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-10 | 1 | 1 | 1 | 0 | 1 | 37 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | COVID-19 is not detected |
| Patient-11 | 1 | 0 | 1 | 0 | 1 | 37 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | COVID-19 is not detected |
| Patient-12 | 1 | 0 | 1 | 0 | 1 | 37 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | COVID-19 is not detected |
| Patient-13 | 1 | 1 | 1 | 0 | 1 | 36 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | COVID-19 is not detected |
| Patient-14 | 1 | 1 | 1 | 0 | 1 | 37 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | COVID-19 is not detected |
| Patient-15 | 1 | 1 | 0 | 0 | 0 | 37 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | COVID-19 is not detected |
| Patient-16 | 0 | 1 | 0 | 0 | 0 | 36 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | COVID-19 is not detected |
| Patient-17 | 0 | 1 | 0 | 0 | 0 | 36 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | COVID-19 is not detected |
| Patient-18 | 0 | 1 | 0 | 0 | 0 | 36 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | COVID-19 is not detected |
| Patient-19 | 0 | 1 | 0 | 1 | 1 | 36 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | COVID-19 is not detected |
| Patient-20 | 0 | 1 | 0 | 1 | 0 | 36 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | COVID-19 is not detected |
| Patient-21 | 1 | 0 | 1 | 0 | 0 | 36 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | COVID-19 is not detected |
| Patient-22 | 1 | 0 | 1 | 0 | 0 | 36 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-23 | 1 | 0 | 1 | 0 | 0 | 36.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-24 | 1 | 1 | 0 | 1 | 1 | 36.5 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | COVID-19 is not detected |
| Patient-25 | 1 | 1 | 0 | 1 | 1 | 36.5 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | COVID-19 is not detected |
| Patient-26 | 1 | 1 | 0 | 1 | 1 | 36.5 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | COVID-19 is not detected |
| Patient-27 | 1 | 1 | 1 | 0 | 1 | 37 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-28 | 0 | 0 | 1 | 0 | 0 | 36 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-29 | 0 | 1 | 1 | 0 | 0 | 36.5 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-30 | 0 | 1 | 1 | 0 | 1 | 37 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is not detected |
| Patient-31 | 0 | 1 | 1 | 0 | 0 | 36 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is detected |
| Patient-32 | 0 | 1 | 1 | 0 | 1 | 36 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | COVID-19 is detected |
| Patient-33 | 0 | 0 | 1 | 0 | 0 | 36 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | COVID-19 is detected |
| Patient-34 | 1 | 0 | 1 | 0 | 1 | 36 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | COVID-19 is detected |
| Patient-35 | 1 | 0 | 1 | 0 | 0 | 36.5 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | COVID-19 is detected |
| Patient-36 | 1 | 0 | 1 | 0 | 2 | 37 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | COVID-19 is detected |
| Patient-37 | 1 | 1 | 1 | 0 | 0 | 36 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | COVID-19 is detected |
| Patient-38 | 1 | 0 | 1 | 0 | 1 | 37 | 2 | 1 | 0 | 1 | 0 | 0 | 0 | COVID-19 is detected |
| Patient-39 | 1 | 1 | 1 | 0 | 0 | 37 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | COVID-19 is detected |
| Patient-40 | 1 | 2 | 1 | 0 | 2 | 36 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | COVID-19 is detected |
| Patient-41 | 2 | 2 | 1 | 1 | 2 | 36.5 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | COVID-19 is detected |
| Patient-42 | 2 | 0 | 0 | 1 | 2 | 36.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | COVID-19 is detected |
| Patient-43 | 2 | 1 | 0 | 0 | 0 | 36.5 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | COVID-19 is detected |
| Patient-44 | 2 | 0 | 0 | 1 | 1 | 37 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | COVID-19 is detected |
| Patient-45 | 1 | 2 | 0 | 0 | 1 | 37 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | COVID-19 is detected |
| Patient-46 | 1 | 1 | 1 | 1 | 2 | 37 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | COVID-19 is detected |
| Patient-47 | 1 | 2 | 1 | 0 | 2 | 36 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | COVID-19 is detected |
| Patient-48 | 0 | 2 | 1 | 1 | 0 | 36 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | COVID-19 is detected |
| Patient-49 | 2 | 0 | 1 | 0 | 0 | 36 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | COVID-19 is detected |
| Patient-50 | 1 | 0 | 0 | 1 | 0 | 36 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | COVID-19 is detected |
| Patient-51 | 1 | 2 | 0 | 1 | 2 | 37 | 1 | 1 | 2 | 1 | 2 | 1 | 2 | COVID-19 is detected |
| Patient-52 | 1 | 1 | 0 | 1 | 1 | 37 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | COVID-19 is detected |
| Patient-53 | 1 | 1 | 0 | 0 | 2 | 37.5 | 1 | 2 | 1 | 1 | 2 | 2 | 2 | COVID-19 is detected |
| Patient-54 | 1 | 1 | 0 | 1 | 2 | 37.5 | 2 | 2 | 1 | 1 | 1 | 2 | 2 | COVID-19 is detected |
| Patient-55 | 1 | 1 | 0 | 0 | 2 | 37.5 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | COVID-19 is detected |
| Patient-56 | 1 | 1 | 0 | 1 | 2 | 375 | 2 | 2 | 2 | 2 | 2 | 1 | 2 | COVID-19 is detected |
| Patient-57 | 1 | 1 | 0 | 0 | 2 | 37.5 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | COVID-19 is detected |
| Patient-58 | 1 | 1 | 0 | 0 | 2 | 37.5 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | COVID-19 is detected |
| Patient-59 | 1 | 1 | 0 | 0 | 2 | 38 | 2 | 2 | 1 | 2 | 2 | 1 | 2 | COVID-19 is detected |
| Patient-60 | 1 | 1 | 0 | 0 | 2 | 38 | 2 | 1 | 2 | 2 | 1 | 2 | 2 | COVID-19 is detected |
Representation of dataset.
| Value Assigned | Flue | Throat Pain | Immunity (Gut Flora) | Diarrhea | Voice Type | Smelling Issues | Joint Pain | Dry Cough | Vomiting | Breathing Problems | Headache | Chest Pain | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Yes | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
| No | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| More intense symptom | 2 | 2 | N/A | N/A | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Figure 2(a–l) Violin plots for corresponding to each feature used in the dataset.
Figure 3Assigning a particular class by incorporating hard voting.
Figure 4Assigning a particular class by incorporating soft voting.
Figure 5Flow diagram of the proposed work.
Confusion matrix when test samples are 20% of the total dataset.
| Total No. of Test Samples (N) | Predicted COVID-19 | Predicted not COVID-19 |
|---|---|---|
| Actual COVID-19 | 21 | 1 |
| Actual not COVID-19 | 0 | 21 |
Performance analysis of different machine learning algorithms for the proposed model.
| Parameters | TWRF | LR | DT | RF | NB | SVM (Sigmoid Kernel) | SVM (Linear Kernel) | SVM (rbf Kernel) | SVM (Polynomial Kernel) |
|---|---|---|---|---|---|---|---|---|---|
| Accuracy | 97.6 | 50 | 92 | 88 | 12 | 50 | 96 | 96 | 98 |
| Precision | 1.0 | 0.32 | 0.91 | 0.97 | 1.00 | 0.32 | 0.32 | 1.00 | 0.98 |
| Recall | 0.95 | 0.95 | 0.90 | 0.96 | 0.78 | 0.15 | 0.87 | 0.90 | 0.85 |
| F1-score | 0.97 | 0.47 | 0.90 | 0.96 | 0.87 | 0.20 | 0.46 | 0.94 | 0.91 |
K-fold analysis.
| Parameters | TWRF | LR | DT | RF | NB | SVM (Sigmoid Kernel) | SVM (Linear Kernel) | SVM (rbf Kernel) | SVM (Polynomial Kernel) |
|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
| K = 5 | 96 | 50 | 92 | 92 | 88 | 12 | 50 | 90 | 91 |
| K = 10 | 98 | 50 | 84 | 85 | 79 | 21 | 55 | 84 | 91 |
| K = 15 | 97 | 50 | 94 | 95 | 89 | 12 | 50 | 94 | 95 |
| K = 20 | 95 | 50 | 95 | 96 | 90 | 12 | 50 | 95 | 95 |
| Avg | 96.5 | 50 | 91 | 92 | 87 | 14 | 51 | 91 | 93 |
|
| |||||||||
| K = 5 | 0.95 | 0.32 | 0.91 | 0.92 | 1.00 | 0.32 | 0.32 | 1.00 | 1.00 |
| K = 10 | 0.96 | 0.34 | 0.83 | 0.83 | 1.00 | 0.31 | 0.34 | 1.00 | 1.00 |
| K = 15 | 0.98 | 0.33 | 0.94 | 0.95 | 0.99 | 0.32 | 0.34 | 0.99 | 0.99 |
| K = 20 | 0.97 | 0.33 | 0.96 | 0.96 | 1.00 | 0.33 | 0.33 | 1.00 | 1.00 |
| Avg | 0.96 | 0.33 | 0.91 | 0.95 | 0.99 | 0.32 | 0.33 | 0.99 | 0.99 |
|
| |||||||||
| K = 5 | 0.99 | 1.00 | 0.90 | 0.90 | 0.78 | 0.15 | 1.00 | 0.90 | 0.91 |
| K = 10 | 0.98 | 1.00 | 0.80 | 0.80 | 0.60 | 0.32 | 1.00 | 0.79 | 0.92 |
| K = 15 | 1.00 | 1.00 | 0.93 | 0.93 | 0.79 | 0.15 | 1.00 | 0.92 | 0.93 |
| K = 20 | 0.99 | 1.00 | 0.95 | 0.95 | 0.81 | 0.14 | 1.00 | 0.93 | 0.95 |
| Avg | 0.99 | 1.00 | 0.89 | 0.89 | 0.74 | 0.19 | 1.00 | 0.88 | 0.92 |
|
| |||||||||
| K = 5 | 0.96 | 0.48 | 0.90 | 0.90 | 0.87 | 0.20 | 0.48 | 0.94 | 0.95 |
| K = 10 | 0.96 | 0.50 | 0.81 | 0.81 | 0.75 | 0.31 | 0.50 | 0.88 | 0.95 |
| K = 15 | 0.98 | 0.49 | 0.93 | 0.93 | 0.89 | 0.20 | 0.50 | 0.95 | 0.92 |
| K = 20 | 0.97 | 0.49 | 0.95 | 0.95 | 0.85 | 0.19 | 0.49 | 0.96 | 0.97 |
| Avg | 96.75 | 0.49 | 0.89 | 0.90 | 0.84 | 0.22 | 0.49 | 0.93 | 0.95 |
Average accuracy after the implementation of soft voting.
| Proposed Models | When K = 5 | When K = 10 | When K = 15 | When K = 20 | Average |
|---|---|---|---|---|---|
| Accuracy | 96 | 96 | 97 | 98 | 97 |
Performance comparison of the proposed work with the existing ones.
| Schemes | TWRF | LR | DT | RF | NB | SVM (Sigmoid Kernel) | SVM (Linear Kernel) | SVM (rbf Kernel) | SVM (Polynomial Kernel) |
|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
| Proposed | 98 | 50 | 92 | 97 | 88 | 12 | 50 | 96 | 96 |
| Ref [ | 78 | 79 | 81 | 82 | 81 | 80 | 79 | 80 | 81 |
| Ref [ | 90 | 91 | 90 | 93 | 89 | 92 | 91 | 90 | 92 |
| Ref [ | 76 | 75 | 73 | 77 | 79 | 78 | 80 | 81 | 83 |
| Ref [ | 82 | 83 | 86 | 89 | 90 | 89 | 88 | 90 | 95 |
|
| |||||||||
| Proposed | 0.86 | 0.32 | 0.91 | 0.97 | 1.00 | 0.32 | 0.32 | 1.00 | 0.98 |
| Ref [ | 0.84 | 0.90 | 0.88 | 0.85 | 0.86 | 0.87 | 0.89 | 0.90 | 0.87 |
| Ref [ | 0.92 | 0.95 | 0.91 | 0.97 | 0.98 | 0.99 | 0.97 | 0.99 | 0.99 |
| Ref [ | 0.97 | 0.98 | 0.96 | 0.99 | 0.98 | 0.99 | 0.98 | 0.99 | 0.98 |
| Ref [ | 0.89 | 0.88 | 0.87 | 0.84 | 0.90 | 0.97 | 0.98 | 0.97 | 0.98 |
|
| |||||||||
| Proposed | 0.94 | 0.95 | 0.90 | 0.96 | 0.78 | 0.15 | 0.87 | 0.90 | 0.85 |
| Ref [ | 0.89 | 0.90 | 0.91 | 0.90 | 0.89 | 0.94 | 0.95 | 0.94 | 0.92 |
| Ref [ | 0.90 | 0.94 | 0.89 | 0.88 | 096 | 0.94 | 0.97 | 0.92 | 0.91 |
| Ref [ | 0.97 | 0.89 | 0.90 | 0.89 | 0.90 | 0.97 | 0.96 | 0.98 | 0.96 |
| Ref [ | 0.89 | 0.90 | 0.94 | 0.97 | 0.98 | 0.94 | 0.90 | 0.91 | 0.89 |
|
| |||||||||
| Proposed | 0.89 | 0.47 | 0.90 | 0.96 | 0.87 | 0.20 | 0.46 | 0.94 | 0.91 |
| Ref [ | 0.86 | 0.92 | 0.89 | 0.88 | 0.83 | 0.97 | 0.91 | 0.94 | 0.90 |
| Ref [ | 0.90 | 0.92 | 0.89 | 0.90 | 0.91 | 0.89 | 0.98 | 0.96 | 0.94 |
| Ref [ | 0.97 | 0.95 | 0.92 | 0.91 | 0.89 | 0.91 | 0.93 | 0.99 | 0.91 |
| Ref [ | 0.89 | 0.88 | 0.90 | 0.94 | 0.98 | 0.91 | 0.96 | 0.98 | 0.99 |