Next Article in Journal
Investigating the Out-of-Plane Bending Stiffness Properties in Hybrid Species Diagonal-Cross-Laminated Timber Panels
Previous Article in Journal
Prediction of Soil Compaction Parameters Using Machine Learning Models
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Adaptive Stacking Ensemble Techniques for Early Severity Classification of COVID-19 Patients

1
Department of Computer Science and Engineering, Gyeongsang National University, Jinju 52828, Republic of Korea
2
Department of Applied Artificial Intelligence, Hanyang University, Ansan 15588, Republic of Korea
3
Division of Infectious Disease, Department of Internal Medicine, Korea University College of Medicine, Korea University Ansan Hospital, Ansan 15355, Republic of Korea
*
Author to whom correspondence should be addressed.
Appl. Sci. 2024, 14(7), 2715; https://doi.org/10.3390/app14072715
Submission received: 22 January 2024 / Revised: 12 March 2024 / Accepted: 22 March 2024 / Published: 24 March 2024
(This article belongs to the Special Issue Advances in Machine Learning for Healthcare Applications)

Abstract

:
During outbreaks of infectious diseases, such as COVID-19, it is critical to rapidly determine treatment priorities and identify patients requiring hospitalization based on clinical severity. Although various machine learning models have been developed to predict COVID-19 severity, most have limitations, such as small dataset sizes, the limited availability of clinical variables, or a constrained classification of severity levels by a single classifier. In this paper, we propose an adaptive stacking ensemble technique that identifies various COVID-19 patient severity levels and separates them into three formats: Type 1 (low or high severity), Type 2 (mild, severe, critical), and Type 3 (asymptomatic, mild, moderate, severe, fatal). To enhance the model’s generalizability, we utilized a nationwide dataset from the South Korean government, comprising data from 5644 patients across over 100 hospitals. To address the limited availability of clinical variables, our technique employs data-driven strategies and a proposed feature selection method. This ensures the availability of clinical variables across diverse hospital environments. To construct optimal stacking ensemble models, our technique adaptively selects candidate base classifiers by analyzing the correlation between their predicted outcomes and performance. It then automatically determines the optimal multi-layer combination of base and meta-classifiers using a greedy search algorithm. To further improve the performance, we applied various techniques, including imputation of missing values and oversampling. The experimental results demonstrate that our stacking ensemble models significantly outperform existing single classifiers and AutoML approaches, with improvements of 6.42% and 8.86% in F1 and AUC scores for Type 1, 9.59% and 6.68% for Type 2, and 11.94% and 9.24% for Type 3, respectively. Consequently, our approach improves the prediction of COVID-19 severity levels and potentially assists frontline healthcare providers in making informed decisions.

1. Introduction

The novel coronavirus disease (COVID-19) emerged in late 2019 and rapidly escalated into a global pandemic with profound effects on public health, economic stability, and the global social structure. In the early stages of the pandemic, some countries required hospitalization for all confirmed COVID-19 patients, regardless of the severity of their illness [1]. This policy significantly burdened medical facilities by increasing the number of patient admissions. Furthermore, the rapid increase in confirmed cases and the associated risk of mortality exacerbated the shortage of healthcare professionals and facilities. Consequently, many patients did not receive appropriate treatment, leading to symptom worsening and, in some instances, death [2].
To effectively deliver the healthcare process with limited resources, it is important to predict the clinical severity of COVID-19 cases to quickly prioritize treatment and identify patients requiring hospitalization. COVID-19 treatment relies on symptomatic relief, supportive care, oxygen therapy, and intensive care, depending on the disease severity [3]. Therefore, it is essential to appropriately allocate the limited healthcare resources, such as quarantine facilities, hospital beds, and intensive care units, based on the different severity level classifications of COVID-19 patients.
Several machine learning model approaches have been proposed to predict the severity of COVID-19 patients. However, these studies have the following limitations.
Small patient datasets: Many studies relied on limited information or clinical variables, such as medical images [4], blood or urine tests [5,6], clinical characteristics [7], and Electronic Health Records (EHRs) [8] obtained during hospitalization. These data sources have the advantage of not requiring additional expenditure on materials, as the necessary information is already included in the patient’s medical records. However, these studies typically derived their datasets from the patient pool at a single institution in a specific local region, usually involving 300–600 patients. Thus, these studies have limited generalizability due to their relatively small sample sizes.
Limited availability of clinical variables: Some studies have shown promising results using patient data obtained from extensive medical testing devices, such as blood tests [9], CT scans [10,11], and MRIs [12]. However, the time required to confirm the test results can delay the rapid identification of patients with critically severe COVID-19. In real-world clinical settings, it is often necessary to triage and refer COVID-19 patients immediately after diagnosis, even with limited available clinical variables [13]. Therefore, an adaptive approach that can predict severity using readily available clinical variables or by selecting variables that significantly impact actual clinical severity is needed.
Constrained classification of severity levels by a single classifier: Most studies have employed a single classifier, such as Logistic Regression or XGBoost, to predict COVID-19 severity [14,15,16]. While these models have shown reasonable predictive capabilities, their performance can decrease with insufficient data or when the number of severity levels increases, making decision boundaries more complex. As a result, some studies have focused on simple binary classifications, categorizing patient cases as either low or high severity, with an emphasis on identifying mortality risk [17,18,19]. Moreover, single classifiers, which utilize different learning methods, are limited in their ability to capture complex patterns or the diversity within a dataset, potentially resulting in failure to generalize effectively across the entire dataset. Consequently, each single classifier has different performance levels, and important clinical variables for severity prediction appear inconsistently across different classifiers. Furthermore, actual COVID-19 patient data, which were not collected for research purposes, present challenging issues, such as irregular sampling and data imbalance. Irregular sampling complicates data extraction and contributes to the large amounts of missing data, while data imbalances can cause classifiers to be biased towards the majority class, leading to unsatisfactory results. In this context, the performance of single classifiers can significantly vary, limiting their ability to create stable, reliable prediction models and often resulting in biased predictions towards the majority class without effectively learning from the minority class.
To address these issues, we propose an adaptive stacking ensemble technique to effectively identify various severity levels of COVID-19 patients. The main contributions of this paper are as follows.
Use of a large patient dataset for generalization: In contrast to previous methods developed with limited patient datasets from a single institution in a specific local region, we utilized a nationwide clinical epidemiology dataset that includes data from 5644 confirmed COVID-19 patients. Our dataset, collected by the South Korean government, particularly the Korea Centers for Disease Control and Prevention (KCDC), comprises patient data from over 100 hospitals nationwide. To validate our approach with an actual patient dataset, we enriched our dataset by incorporating additional data from a single institution, Korea University Ansan Hospital. Consequently, our approach not only improves the performance of our model but also enhances its generalizability, making it applicable in diverse clinical settings.
Adaptive data strategies for clinical variable availability: The adaptive characteristics of our technique allow for the classification of COVID-19 severity using only the available clinical variables, even when certain variables are unavailable or time-consuming to collect. In contrast to previous methods that depend on extensive medical testing devices, we utilize clinical variables that can be easily obtained through patient interviews or health applications to support early patient triage. Recognizing that even easily obtainable clinical variables can vary depending on the hospital’s situation, we categorize the variables within the dataset into five groups: patient demographics, vital signs, symptoms, underlying conditions, and blood test results. We employ a data-driven strategy to group these variables and develop adaptive models for their various combinations, evaluating each model’s performance. Additionally, we enhance our clinical severity prediction models by using only the selected features identified through our feature selection method, considering the clinical settings that can complicate data acquisition.
Adaptive stacking ensemble models for identifying various severity levels: To overcome the limitations of single classifiers in predicting highly diverse severity levels, we propose an adaptive stacking ensemble technique that automatically combines multiple single classifiers. Our technique leverages the strengths of each classifier to capture diverse severity patterns and correlations within our dataset, thereby improving prediction performance. To construct the optimal stacking ensemble model, our technique adaptively selects base classifiers with low complexity and high diversity based on the correlation between their predicted outcomes and the performance of the candidate classifiers. We then employ a greedy search algorithm to automatically determine the optimal multi-layer combination of base and meta-classifiers. As a result, our technique represents a novel prediction approach that reduces the risk of misclassification and model bias by automatically combining selected single classifiers into a multilayer stacking ensemble learning model, after evaluating the impact of each classifier. To further improve the model’s performance, we utilize missing-value imputation and oversampling techniques. These methods address the inherent challenges of clinical data that were not collected for research purposes, such as data loss due to irregular sampling and imbalanced datasets, which can degrade the performance of predictive models.
The remainder of this paper is organized as follows: Section 2 provides a literature review of related work. Section 3 presents an overview and the detailed methods of the proposed technique. Section 4 provides a comprehensive experimental evaluation and discusses our findings. Finally, we conclude the paper in Section 5.

2. Related Work

The rapid spread of COVID-19 has emphasized the need for effective early-stage severity prediction models to optimize resource allocation and patient triage. Consequently, numerous studies have proposed the development of machine learning models to predict COVID-19 severity in patients and improve prognoses.
Yan et al. [20], Shang et al. [21], and Zhang et al. [22] utilized datasets from local hospitals in Wuhan, China, during the early stages of the COVID-19 outbreak. They predicted characteristics and risk factors related to the clinical severity and mortality of COVID-19 patients using single classifiers, including fuzzy logic and multivariate Logistic Regression. Their goal was to identify clinical variables that could significantly influence COVID-19 severity based on patients’ clinical characteristics and in-hospital record information (e.g., patient demographics, blood test results, medical history, and real-time PCR). The epidemiological and clinical characteristics of the patients in these datasets were identified as key factors related to prognosis heterogeneity after COVID-19 diagnosis [23]. However, the generalizability and applicability of these methods are limited due to their reliance on small patient datasets, with sizes of 375, 443, and 663 patients, respectively.
Liang et al. [24] aimed to enhance their prediction model’s generalizability by using a dataset of 1590 patients from hospitals in the Wuhan, Hubei, and Guangdong regions of China. They proposed a deep-learning-based Cox proportional hazards model to predict COVID-19 patients’ survival rates. However, this model requires the time-series-based tracking of patient cohort data, which can be challenging and costly to obtain due to the need for continuous data formatting.
A machine-learning-based analysis of CT images has been proposed to predict COVID-19 patient mortality rates and severity changes over time. Jin et al. [25] used a deep-learning-based diagnostic model with chest CT imaging for the early detection, quantification, and tracking of COVID-19. They integrated a large-scale dataset that included CT scans of 11,356 patients from three medical centers in China and four publicly available databases. Similarly, Xu et al. [26] explored the performance of single classifiers in rapidly triaging COVID-19 patients by combining CT image analysis with EHRs and clinical laboratory results. Al Rahhal et al. [27] utilized a Vision Transformer (ViT) technique, known for its high performance in computer vision, to enhance accuracy by segmenting and processing the training data along with augmented CT images. Despite the advantages of these studies in tracking severity changes over time using image data, the need for medical testing devices to acquire training image data poses a significant challenge, especially where rapid initial classification is required. Furthermore, Guan et al. [28] reported that approximately 20% of COVID-19 patients do not show significant imaging changes in the lungs, leading to unnecessary radiation exposure and the potential misallocation of limited testing resources.
Wungu et al. [29] used a meta-analysis to investigate the correlation between various cardiac markers and the severity or mortality of COVID-19 patients. Their findings suggested that elevated levels of CK-MB, PCT, NT-proBNP, BNP, and D-dimer could serve as indicators for predicting COVID-19 severity. Meanwhile, Bayat et al. [30] applied pairwise correlation to compress a dataset composed of 70 clinical characteristics and used the XGBoost model for prediction. They concluded that biomarkers such as ferritin, CRP, LDH, and D-dimer could potentially act as indicators for detecting COVID-19 infection. However, these datasets are obtained through standard laboratory tests, which are time-consuming and expensive. Since these tests are typically designed to diagnose specific health conditions, they cannot fully represent all potential clinical scenarios, necessitating additional tests or specialized procedures. Therefore, in the context of COVID-19 diagnosis, the availability of relevant clinical variables can be challenging due to the high influx of patients in emergency rooms and the need for rapid diagnosis in pandemic situations.
Fan et al. [31] categorized various machine-learning-based COVID-19 prediction models into Knowledge-Driven (KD) infectious disease dynamics models and Data-Driven (DD) machine learning models. KD models, derived from all available domain knowledge, incorporate known relationships of infectious disease models, while DD models rely solely on given datasets without domain knowledge. KD models typically use a set of mathematical equations, like ordinary differential equations, including physically interpretable parameters to reveal the key characteristics and transmission rules of infectious diseases. However, they may suffer from poor predictive power due to the simplified or ambiguous explanations of mechanistic processes and parameter uncertainty. DD models employ various machine learning techniques, such as Support Vector Machines (SVM), Artificial Neural Networks (ANN), Random Forests (RF), Decision Trees (DT), and K-Nearest Neighbors (KNN), to predict COVID-19 mortality risk. These models can handle unknown non-linear relationships in infectious disease transmission mechanisms through data learning but risk reflecting model bias in their predictions due to the bias–variance tradeoff.
Ensemble learning, which combines the predictive abilities of two or more base learner models to reduce bias and variance, thereby improving overall prediction performance, has seen recent application in analyzing COVID-19 data. However, determining the optimal combination of models for optimal performance remains challenging, with most researchers manually constructing stacking ensemble models to predict COVID-19’s clinical severity [32,33,34,35]. Additionally, some studies opted for simplified severity classifications related only to survival and death, rather than attempting to classify a diverse range of clinical severities [36,37].
To address the challenge of automating machine learning model construction, current Automated Machine Learning (AutoML) technology automatically generates prediction pipelines in a data-driven manner, producing high-quality predictions. AutoML reduces repetitive tasks to the data analysis and enables the development of applications without the need for specific expertise in machine learning or statistics. For example, Ikemura et al. [38] used the open-source H2O.ai AutoML package to predict COVID-19 patient mortality, and de Holanda et al. [39] utilized the PyCaret library to select algorithms for identifying COVID-19 patients at risk of death or needing hospitalization. However, most existing AutoML research focuses on finding the optimal model among single classifiers or is limited by the use of a restricted range of single classifiers, failing to ensure model diversity and often not optimizing data and feature preprocessors, focusing solely on model optimization. Although some AutoML approaches include stacking ensemble techniques, they generally have a simple single-layer structure, which limits the integration needed to address complex data structures and diverse prediction requirements.
The recent advancement of Large Language Models (LLMs) has introduced new possibilities for processing biomedical data through Natural Language Processing (NLP), including identifying COVID-19 infections. López-Úbeda et al. [40] proposed a system that automatically predicts whether patients’ chest CT scan reports match radiological findings indicative of COVID-19, using BiLSTM-, CNN-, and ANN-based text classification techniques. Mermin-Bunnell et al. [41] developed an NLP model that accurately classifies EHRs and identifies COVID-19 cases using BioClinicalBERT and DistilBERT, potentially reducing clinician response time and improving access to antiviral treatments. Muzhe et al. [42] developed a method using social media data from Reddit to train a novel QuadArm model based on BERT to answer questions, aiming to identify COVID-19 cases and automatically extract reported symptoms. These NLP-based approaches typically identify patient severity by searching for similar results (e.g., words or documents) from text-based unstructured data. However, these approaches face significant challenges due to the peculiarities of medical terminology. Medical terms can be ambiguous, appearing in various forms, such as synonyms, homonyms, and abbreviations, which can vary in meaning depending on the context [43,44]. For example, the term ‘cold’ can refer both to a common viral respiratory infection and a general feeling of low temperature, leading to the potential misinterpretation of patient symptoms. Similarly, the abbreviation ‘MI’ might be used to denote ‘myocardial infarction’ (i.e., a heart attack) in one context, while in another, it could stand for ‘mitral insufficiency’ (i.e., a valve disorder). Moreover, the presence of spelling errors, grammatical inaccuracies, and colloquial abbreviations can hinder the models’ ability to accurately identify patient severity or lead to incorrect word extractions.
To overcome these drawbacks and present a generalized model for predicting COVID-19 clinical severity, we performed severity prediction using a large patient dataset obtained from the KCDC and Korea University Ansan Hospital. To tackle the challenge of collecting clinical variables and implementing early triage, we utilized the epidemiological variables of patients based on categorical and numerical values, such as body mass index (BMI), body temperature, heart rate, blood pressure, and existing underlying diseases. These variables are readily available and can be quickly obtained at the time of patient admission. Moreover, considering the potential limitations of collecting patient data in real-world clinical settings, we grouped the clinical variables using data-driven strategies. We then evaluated the performance of various models using different combinations of these variable groups. We also analyzed important clinical variables using feature selection methods based on wrapper methods, including forward selection, backward elimination, and recursive feature elimination with cross-validation (RFECV). To improve performance, we addressed the issues of irregular sampling and data imbalance through missing value imputation and oversampling techniques. Finally, we presented a flexible machine learning model capable of accurately predicting the clinical severity of COVID-19 patients across various severity levels by employing an adaptive stacking ensemble technique with multi-layer structures, which helps reduce the risk of model bias.

3. Proposed Method

This section provides a detailed description of our proposed techniques. Figure 1 presents a schematic illustration of our method, which consists of five phases: (1) preprocessing, (2) data-driven strategy, (3) feature selection, (4) data splitting and oversampling, and (5) stacking ensemble model construction. A detailed explanation of each phase is provided in the following subsections.
Our technique is specifically designed to predict the various severity levels of COVID-19 in patients. Differentiating the severity levels is essential to provide appropriate interventions, save lives, and efficiently allocate limited medical resources. Therefore, our technique can deliver the final severity prediction results, derived from the input data, in one of three output format types depending on the needs of the user’s intervention: Type 1 (low or high severity), Type 2 (mild, severe, and critical), and Type 3 (asymptomatic, mild, moderate, severe, and fatal). The prediction models delivering these results are adaptively constructed based on the availability of clinical variables and built with various forms of internal stacking ensembles. The following steps summarize our technique:
(1)
In the first internal phase, we apply data preprocessing techniques to the acquired COVID-19 patient data. This phase includes the removal of irrelevant features, the imputation of missing values, data standardization, and the mean encoding of categorical features.
(2)
In the data-driven strategy, we create groups of clinical variables for severity classification, considering the availability of a patient’s clinical variables. These groups mainly consist of epidemiological variables that can be easily obtained when the patient visits the hospital. To optimize the predictions using the minimum amount of necessary clinical variables, we modify the composition of each group by changing the feature sets (i.e., the clinical variables).
(3)
To identify the feature sets that significantly affect the severity prediction, we propose a feature selection algorithm. This algorithm considers forward selection, backward elimination, and RFECV to identify the optimal feature set.
(4)
Subsequently, we split the dataset into training and testing subsets. The training data undergo an oversampling process to ensure a balanced data distribution.
(5)
In the stacking ensemble model construction phase, single models are built and evaluated using the F1 and AUC score metrics. To construct an adaptive stacking ensemble model, we select k single models that demonstrate excellent performance and ensure diversity, with low correlations among the predictions. The predictions are then performed using adaptive stacking ensemble models, and the results are presented in one of three format types for various severity classes.

3.1. Datasets

In this paper, we utilized a dataset comprising 5644 COVID-19 patient records. This dataset included 5628 patient records collected by the KCDC from more than 100 hospitals nationwide from 20 January to 30 April 2020. Additionally, we incorporated 50 patient records obtained from Korea University Ansan Hospital until 30 August 2020. This time period is critically important as it covers the initial outbreak, acute phase, and peak of COVID-19 cases in South Korea, providing a comprehensive overview of the virus’s impact. Specifically, this period highlights the urgency of medical responses focused on efficiently managing medical processes with limited resources and rapidly determining treatment priorities.
The dataset contains 42 clinical variables for patients confirmed positive through real-time PCR testing, categorized into eight target classes that reflect the severity of each patient’s condition. The clinical variables are defined as easily measurable features, such as body temperature, blood pressure, symptoms, and past medical history, which can be promptly gathered directly from patients without significant delay.
Despite its nationwide scope, the dataset does not specify the locations of diagnoses in the Republic of Korea. It includes the records of patients who were treated and subsequently discharged from quarantine or hospitalization, as well as those who died from COVID-19 complications. The discharge criteria for patients included receiving two consecutive negative test results at least 24 h apart and the absence of symptoms. To analyze different combinations of variable groups, we classified the clinical variables into five categories: patient demographics, vital signs, symptoms, underlying diseases, and blood test results.

3.2. Preprocessing

To effectively utilize the COVID-19 patient dataset, this phase involves several preprocessing steps, including data cleansing, missing value imputation, data standardization, and mean encoding. Initially, we conducted data cleansing to remove irrelevant features. We excluded variables that did not contribute to the prediction process, such as PatientID, Outcome, and Duration. Additionally, we excluded the variable InpatientRoom because of the potential bias caused by incorrect patient placement. Thus, we utilized 38 of the 42 clinical variables as the model inputs. Detailed descriptions of the selected clinical variables are presented in Table 1. The target variable for prediction, Clinical Severity Score (CSS), was missing in 27 of 5678 records. Furthermore, we discovered seven patients in the dataset who died before their COVID-19 status was definitively confirmed through real-time PCR, despite undergoing laboratory tests for COVID-19. These records were excluded, and 5644 patient records were used to develop our clinical severity prediction model.
To address the missing values in our dataset, we implemented a missing value imputation algorithm based on the dataset statistics. For variables with a proportion of missing values of less than 10%, we imputed the most frequent value for categorical variables and the median for numerical variables. When the proportion of missing values exceeded 10%, particularly for the PREG and PREGW variables, we first classified these variables using SEX. Except for the instances in which the PREGW variable was already recorded, we assigned the remaining values as No and 0 weeks for PREG and PREGW, respectively. We used the KNN imputation method for the remaining missing values that exceeded the proportion of 10%. In KNN, the value of k, which represents the number of neighbors, significantly affects the imputation results. A small k value can make the model sensitive to noise, whereas a large k value can smooth the decision boundary, leading to the loss of important patterns in the data. To select the optimal k value, we used a scoring metric based on Jensen–Shannon divergence. This metric evaluates the quality of the imputed values by comparing them with the original distribution. Consequently, we selected k = 2, which yielded the smallest divergence. Figure 2 shows the imputed distribution of the KNN for the blood results, including HCT, LYMPHO, PLT, and WBC. Algorithm 1 describes the procedure for imputing missing values.
Algorithm 1. Missing Value Imputation
Input: x is data instances with missing data in the dataset; n is the size of the neighbor set Output: updated x with imputed missing data
1:  for each missing value in x do:
2:    if missing values < 10% 
3:        if x is categorical type data:
4:          impute the missing value with the most frequent value
5:        elseif x is numeric type data:
6:          impute the missing value with the median value
7:    else if missing values > 10%:
8:         if x is related to PREG:
9:           if SEX is male:
10:             impute PREG as ‘No’ and PREGW as ‘0 weeks’
11:           else if SEX is female:
12:            if PREGW records are empty:
13:              impute PREG as ‘No’ and PREGW as ‘0 weeks’
14:            if PREG is recorded as ‘No’:
15:              impute PREGW as ‘0 weeks’
16:   end for
17:   initialize score as an empty list
18:   for each number of neighbor set n do:
19:    impute the remaining values using KNN approach
20:     score calculate divergence score for comparison with original distribution
21:  end for
22:  k index corresponding to min(score)
23:  return imputed missing values using the selected k value
The scoring metric based on the Jensen–Shannon divergence, which is used for comparison with the original distribution, can be calculated as follows:
S c o r e =   1 2 ( K L ( p ,   m ) + K L ( q , m )     w h e r e K L ( p ,   m ) = x   ϵ   Ω p x log p x q x ,   m = 0.5 ( p + q )
where p denotes the original data distribution and q denotes the imputed data distribution from the KNN approach; m denotes the mixed distribution of p and q. This score measures the average divergence between the two distributions relative to the mixed distribution. A score of 0 indicates identical distributions, whereas a score of 1 indicates maximally different distributions.
We then performed standardization and mean encoding of the datasets. Standardization involves rescaling the distribution of values such that the mean of the observed values is 0 and the standard deviation is one. Thus, we ensured that all features, except CSS, followed a Gaussian normal distribution with a mean of 0 and standard deviation of 1. This procedure is calculated as follows:
D a t a s t a n d = D a t a μ ( D a t a ) σ ( D a t a )  
where μ (train) and σ (train) represent the mean and standard deviation for each feature in the dataset, respectively. Following standardization, we performed a mean encoding of the categorical values. This procedure transforms the categorical values into the mean of the target variables for each category.

3.3. Data-Driven Strategy

Acquiring all clinical variables of a patient in real-world clinical settings can be challenging due to limitations related to the medical staff and facilities. To address these challenges, in this phase, we prioritize and group the clinical variables based on their ease of collection during patient visits to a hospital. We organized these variables into five categories: patient demographics, vital signs, symptoms, underlying diseases, and blood test results. Figure 3 illustrates our data-driven strategy.
  • Group 1 comprised nine clinical variables related to patient demographics and vital signs, including AGE, BMI, SBP, and HRI. These variables can be obtained simply by querying the patient and can be easily collected upon arrival at the hospital.
  • Group 2 was obtained by expanding Group 1 by adding symptoms such as FEVER and HEADA, resulting in 21 clinical variables. These variables were binary data types that indicated whether a COVID-19 patient exhibited the related symptom.
  • Group 3 was obtained by expanding Group 2 by adding 32 clinical variables, including underlying diseases related to the patient’s current or past medical history, such as DM and HTN.
  • Group 4 comprised 26 clinical variables and was obtained by adding blood test results, such as HGB and LYMPHO, to the Group 2 data in anticipation of difficulties accessing the patient’s current/past medical history.
  • Finally, Group 5 was based on Group 3 and included underlying diseases related to the patient’s current/past medical history, along with the addition of blood test results, resulting in 37 clinical variables.
The target variable in our original dataset, CSS, was divided into eight different severity classes, as shown in Table 2. However, the original dataset contained a significant data imbalance. Out of 5664 patients, 4456 (78.85%) were classified as Class 1, leaving only 1188 patients (21.05%) across Classes 2–8. Furthermore, Classes 4–7 contained less than 1% of the total patient data. This data imbalance presented a challenging issue for model training because some classes were not adequately represented.
To address these issues, we restructured the severity classes into three types, considering the various COVID-19 severity levels. These three types of restructured severity classes were utilized in model training as the target variables.
  • Type 1 comprises two classes aimed at distinguishing between general ward and In-tensive Care Unit (ICU) patients for efficient ward allocation. Patients from classes 1–4 in the original dataset were classified as low-severity (5312 patients, 94.12%) and patients from classes 5–8 were classified as high-severity (332 patients, 5.88%).
  • For Type 2, the target variables were restructured into three classes. Classes 1 and 2 were considered mild (4791 patients, 84.89%), classes 3–6 were considered severe (599 patients, 10.61%), and classes 7 and 8 were considered critical (254 patients, 4.50%).
  • Type 3 provided a more detailed classification by subdividing low- and high-severity levels into five classes. Class 1 was asymptomatic (4456 patients, 78.95%), Class 2 was mild (335 patients, 5.94%), Classes 3–4 were moderate (521 patients, 9.23%), Classes 5–7 were severe (91 patients, 1.61%), and Class 8 was associated with fatal (241 patients, 4.27%).

3.4. Feature Selection

In this phase, we propose a feature selection algorithm to improve the performance of our severity prediction model by using only selected features of high importance and removing variables of low relevance. Feature selection is an important process aimed at identifying a subset of relevant features to improve the ability to predict clinical severity and enhance interpretability. Feature selection methods can be classified into three main types: filters, wrappers, and embedded methods [45]. Filter methods use statistical techniques to evaluate the correlation or dependence between each input feature and the target outcome. These methods are efficient and fast; however, they can select redundant variables because they do not consider the interactions between the features. Moreover, a high correlation coefficient does not always indicate model suitability. In contrast, embedded methods select features based on the feature importance results of learning-based models, such as the Gradient Boosting Machine (GBM) or random forest (RF). Although these methods consider feature interactions, they may be overly biased toward specific models.
To address these limitations, we propose a feature selection algorithm that uses wrapper methods to select a subset of features based on various models with high accuracies. To identify the important features, we employed greedy search techniques, including forward selection, backward elimination, and RFECV. We used all three feature selection methods to determine the optimal feature set. The drawback of wrapper methods is that the selected features are heavily dependent on the specific model used for the feature selection. This implies that a feature set that is optimized for one model may not perform effectively with another model. To address the model dependency issue inherent in wrapper methods, our algorithm utilizes various tree-based ensemble models, such as Light Gradient Boosting Machine (LGBM), XGBoost, and CatBoost. Instead of relying on a single model, the proposed algorithm evaluates the performance of each feature across these models. It then compiles a feature set containing features that have high importance across multiple models, thereby reducing the reliance on feature selection for any single model. We also employed cross-validation methods to train these models iteratively and eliminated features deemed to have low importance. Algorithm 2 briefly describes the feature selection method.
Algorithm 2. Feature Selection
Input: x is the standardized and mean encoded datasets; y is the target variable on datasets
Output: sf is the selected features’ sets
[Evaluation Function]: Internal function to evaluate the performance of a given set of features for each model
1:  define model dictionary M (M = {LGBM, XGBoost, and CatBoost})
2:  function evaluate_features (fs, x, y):
3:      initialize best score bs as 0.0
4:      for each model in M do:
5:       score ← mean cross-validation score for model using feature sets fs, x and y
6:       if score > bs:
7:         bsscore
8:      end for
9:      return bs
10:  end function
[Forward Selection]: Iterate until no more features can be selected from full set of features
11:  initialize forward-selected feature set fsets, and best global score bgs as 0.0
12:  set remaining feature set flists as full set of feature lists
13:  while flists is not empty:
14:   initialize bestscore as 0.0
15:   for each feature f in flists do:
16:      current feature set cflistfset + feature f
17:      scorecall function evaluate_features (cflist, x, y)
18:      if score > bestscore:
19:         bestscorescore, and bf ← feature f
20:   end for
21:   if bestscore > bgs:
22:      bgsbestscore, and fsetsfsets + feature f
23:      remove bf from flights
24:   else
25:      break
26:  end while
[Backward Elimination]: Iterate until no more features can be removed from full set of features
27: set backward selected feature set bsets as full set of features
28: initialize best global score bgs as 0.0
29: while size of bsets > 1:
30:   for each feature f in bsets do:
31:      current feature set cflist ← [f for f in bsets if f not equal to feature f]
32:      scorecall function evaluate_features (cflist, x, y)
33:      if score > bestscore:
34:        bestscorescore, and bf ← feature f
35:   end for
36:   if bestscore > bgs
37:      bgsbestscore, and bsetsbsets - feature f
38:   else
39:      break
40:  end while
[RFECV Selection]: Features are recursively removed to find an optimal number that maximizes model performance.
41: initialize RFECV selected feature set rfecvsets as an empty list, best global score bgs as 0.0
42: for each model in M do:
43:  apply RFECV to the model
44:  score ← obtaining maxscore using cvresults of RFECV
45:   if score > bgs:
46:    bgsscore, and rfecvsets ← best features from RFECV
[Merge and find feature lists]: Merge the results of forward, backward, and RFECV and find common feature elements
47: merge fsets, bsets, and rfecvsets into merged_list_L
48: count feature occurrences in merged_list_L
49: sf features occurring at least twice in merged_list_L
50: return sf
Our feature selection algorithm provides a comprehensive approach to feature selection. First, we initialized machine learning models, such as LGBM, XGBoost, and CatBoost. The internal function evaluate_features evaluates the performance of the given features with five-fold stratified cross-validation and returns the best model and its corresponding score. We then used forward selection to select the best features and backward elimination to remove unnecessary features. Finally, we used RFECV to determine the optimal number of features for each model. After combining the features extracted using these three methods, we ultimately returned only the important features that appeared more than twice. Figure 4 shows the results of the selected feature importance based on the data-driven strategy, with blue bars indicating individual scores and red lines connecting these scores across the groups for comparison.
In Group 1, we selected five of nine clinical variables as important features. The feature importance values for severity prediction were ranked in the following order: TEMPI, BMI, AGE, and HRI. In Group 2, we identified 13 of the 21 clinical variables as significant. Among the symptoms, we can observe that SOB had the highest feature importance. This was followed by AGE, which was also emphasized in Group 1. Most of the symptoms in Group 2 had similar feature importance values. However, FEVER was slightly more significant than the other variables. For Group 3, we determined that 22 of 32 clinical variables were important features. Clinical variables related to patient demographics and vital signs, such as AGE and HRI, were more important than those associated with underlying diseases. In Group 4, 16 of the 26 variables were selected as important features. Clinical variables related to blood test results, especially WBC and LYMPHO, showed high feature importance and significantly affected the severity prediction. Finally, in Group 5, we selected 30 of the 37 clinical variables as important features. The most critical clinical variables were related to blood test results, including WBC, PLT, LYMPHO, HCT, and HGB. Concurrently, patient demographics and vital signs, such as AGE and TEMPI, remained highly relevant.
However, certain clinical variables, such as PREG, PREGW, VN, CLD, and RDAD, were not selected for Groups 1–5. Consequently, they were identified as noncontributors to the severity prediction capabilities of the model.

3.5. Data Splitting and Oversampling

In this phase, we divide the dataset into training and testing subsets to develop a severity prediction model utilizing a subset of the selected features. We also address the issue of data imbalance by applying oversampling techniques to enhance the effectiveness of model training. Initially, we divided the patient dataset into training (3956/5651, 70%) and testing (1696/5, 651, 30%) datasets. To prevent bias during the model training, we randomly shuffled the training data and employed a stratified sampling technique. We also conducted five-fold stratified cross-validation, dividing the dataset into five folds. One fold was used as the validation dataset, and the remaining four as the training dataset. To ensure comprehensive validation, we repeated this cross-validation process 10 times. Each fold served multiple times as both the training and validation dataset, significantly improving the model’s robustness and reliability by extensively evaluating it against various data subsets.
As described in Table 2, our target variable, CSS, has a severe data imbalance. Such an imbalance can be problematic for machine-learning algorithms, especially those based on optimization techniques, as they can be biased toward classes with a greater frequency of occurrence. This can negatively affect the predictive performance of minority classes. To mitigate this imbalance, we utilized two oversampling techniques commonly used in medical research: the Synthetic Minority Oversampling Technique (SMOTE) and Adaptive Synthetic Sampling (ADASYN) [46,47,48]. SMOTE synthesizes the data points for a minority class by utilizing the Euclidean distance to the nearest neighbors. Based on the original attributes, these new samples are very similar to the actual data. However, ADASYN generates synthetic samples by considering the distance between the majority and minority classes, thereby enhancing the minority class data. This method is often considered more sophisticated than SMOTE.
It is important to only perform oversampling on the training data and not on the validation or test sets. Oversampling before splitting the dataset can lead to duplication or the synthesis of instances in the validation or test sets, which can inflate the performance metrics. Therefore, we applied oversampling only to the training dataset, which contained the data for 3956 patients. Table 3 lists the oversampling ratios for Types 1, 2, and 3 of the target variable CSS using SMOTE and ADASYN.

3.6. Stacking Ensemble Model Construction

In this phase, we propose an adaptive stacking ensemble technique that automatically combines multiple single classifiers. Ensemble techniques generate multiple weak classifiers from a given training dataset, and then combine them to form a single strong classifier. This approach can reduce the errors owing to bias and variance that can occur when using a single model. As a result, ensemble techniques provide a better predictive performance than that achieved using individual models. Ensemble techniques are broadly classified into bagging, boosting, and stacking techniques, as illustrated in Figure 5.
During bagging, the training data are randomly resampled to form multiple subsets of the same size. Weak classifiers trained on these subsets are combined using a voting mechanism for the final prediction. Bagging reduces the variance to improve the model performance but cannot effectively address model bias. Additionally, each model has the same weight in the final vote, which can limit the flexibility in certain applications.
In contrast, the boosting technique considers the multiple generated models to be unequal and reflects the weights assigned to each model in the final prediction vote. Initially, the models were trained using all available training data. Subsequently, the predictive performance was evaluated to adjust the weights of the training samples. The well-classified data points receive lower weights, whereas the poorly classified data points receive higher weights. The models are then trained sequentially on the weighted data samples. The final prediction is made using a weighted vote that includes models with varying confidence levels. Boosting improves the model performance by adjusting the bias; however, it has drawbacks, such as a slower learning speed and vulnerability to overfitting, especially in the presence of noisy data.
The stacking technique generates a meta-classifier by learning from the predictions of two or more base classifiers. This technique typically performs better than a single model because it can leverage the individual strengths and weaknesses of each base classifier. However, stacking is computationally intensive and can lead to overfitting if not carefully tuned. Despite these difficulties, stacking can provide a superior predictive performance when correctly executed. This approach is particularly useful in handling the outliers that can negatively affect a single model.
In this paper, we employed a multilayer stacking ensemble approach that integrates different base classifiers over multiple layers under the assumption that the learning outcomes of the individual models are independent. Figure 6 shows the model construction process for the proposed adaptive stacking ensemble technique.
Initially, the module for ‘selecting candidate base classifiers’ identifies the classifiers that should be included in the stacking ensemble. At this stage, m single classifiers are trained. The trained classifiers are then evaluated using five-fold stratified cross-validation to measure their average F1 and AUC scores. Based on a predefined threshold, only k candidate classifiers with an F1 score or AUC score of 0.7 or above are selected for inclusion. Subsequently, the correlations between the predicted outcomes of the selected classifiers are calculated. To reduce model bias and create a diverse set of predictions, classifiers with low prediction correlations are chosen. Classifier combinations with a correlation coefficient exceeding 0.8 are excluded, and models with poor performance for certain pairs are removed. The equation used to calculate the correlation coefficient between two classifiers is defined as follows:
M c o r r ( M x , M y ) = i = 1 n ( M x M x ¯ ) ( M y M y ¯ ) i = 1 n ( M x M x ¯ ) 2 ( M y M y ¯ ) 2  
where M x and M y represent the prediction outcomes from the individual classifiers x and y, respectively, and M x ¯ and M y ¯ represent the mean values of the predicted outcomes of these classifiers. Algorithm 3 describes the procedure for selecting the candidate base classifiers.
Algorithm 3. Selection of candidate base classifiers
Input: x is the oversampled train dataset, y is the test dataset
Output: N selected classifiers for composite stacking ensemble
1:  define model dictionary M (set of m single classifiers)
2:  initialize model’s evaluation score Fm as a dictionary
3:  initialize selected classifiers N as an empty list
4:  for each model in M do:
5:    tm ← train each model using dataset x
6:    F1_score, AUC_score ← evaluate tm with dataset y using 5-fold stratified cross-validation
7:    Fm[model] ← (F1_score, AUC_score)
8:  end for
9:  for  each model, (F1_score, AUC_score) in Fm do:
10:    if either F1 score or AUC_score ≥ threshold:
11:      add model to select classifiers N
12:  end for
13:  for each model Mi in N do:
14:    for each model Mj in N do:
15:       if model Mi != model Mj
16:          M c o r r ( M i , M j )   ← calculate correlation coefficient between Mi and Mj
17:         if  M c o r r ( M i , M j ) ≥ corr_threshold:
18:           if Fm[model Mi] > Fm[model Mj]:
19:              mark Mj for removal
20:           else:
21:             mark Mi for removal
22:      end for
23:  end for
24:  remove marked models from selected classifiers N
25:  return N
Our adaptive stacking ensemble model combines the individual base classifiers to learn the best possible prediction combination of various base classifiers and is structured as a multilayer stacking ensemble model that outperforms the individual models. In the ‘model construction module’, the N candidate base classifiers selected from the previous module are first sorted in descending order based on their F1 and AUC scores. The training and testing datasets are split to facilitate the construction of a multilayered structure. A greedy algorithm utilizing an internal function called the train_layer is used to progressively add the classifiers based on their performance and evaluate the efficiency of each combination. If adding more classifiers does not enhance the performance, the current combination is considered the optimal single-layer configuration and the process moves to the next layer. Thus, the classifier combinations in the previous layer serve as inputs to the next layer. This iterative process of adding classifiers and layers is continued until no further performance improvement is observed. Due to the expected high complexity of the multilayer stack ensemble model, Logistic Regression was chosen as the meta-learner to minimize the risk of data overfitting. Unlike traditional methods, where the user manually selects the classifiers that will be integrated into the stacking ensemble, our approach automatically selects the base classifiers using a greedy algorithm. Algorithm 4 describes the procedure for constructing the adaptive stacking ensemble model.
Algorithm 4. Adaptive stacking ensemble model construction
Input: N selected classifiers for composite stacking ensemble, x is the oversampled train dataset, y is the test dataset
Output: Final F1_score final_ f1
1:  define model dictionary N (set of selected candidate base classifiers)
2:  initialize sort models by F1 and AUC scores Sm
3:   initialize last best F1 score lbf1 as 0.0
4:  initialize Xnext_layer_train as Xtrain
5:  initialize Xnext_layer_test as Xtest
6:  Sm ←sort N selected candidate classifiers by F1_score and AUC_score
7:  randomly split train dataset x and test dataset y into (Xtrain, Ytest), (Xtrain, Ytest)
8:  function train_layer (Models, Xtrain, Ytrain):
9:     initialize layer_output as empty list
10:    for each model in Models do:
11:       tm ← train each model using datasets Xtrain and Ytrain
12:       add tm to layer_output
13:    end for
14:    return layer_output
15:  end function
16:  initialize patience_counter as 0
17:  while true:
18:    initialize current best models cbm as an empty list
19:    initialize current best f1 cbf1 as lbf1
20:    initialize interim models im as an empty list
21:    for each model in Sm do:
22:       add model to im
23:       interim_ Xtraincall function train_layer (im, Xnext_layer_train, Ytrain)
24:       initialize meta_model as LogisticRegression
25:       train meta_model using interim_ Xtrain and Ytrain
26:       interim_ f1 ←evaluate meta_model using Xnext_layer_test and Ytest
27:       if interim_ f1 > cbf1:
28:         cbf1interim_ f1
29:         cbm ← copy interim models im
30:    end for
31:    if cbf1 lbf1:
32:       patience_counter += 1
33:       if patience_countermax_pateince:
34:         break
35:    else:
36:       lbf1 = cbf1
37:       Xnext_layer_traincall function train_layer (cbm, Xnext_layer_train, Ytrain)
38:       Xnext_layer_testcall function train_layer (Xnext_layer_test, Ytest)
39:       patience_counter to 0
40:  end while
41:  initialize final_meta_model as LogisticRegression
42:  train final_meta_model with Xnext_layer_train and Ytrain
43:  final_ f1 ← evaluate final meta_model using Xnext_layer_test and Ytest,
44:  return final_ f1
We constructed an adaptive stacking model using 14 candidate base classifiers, including linear, nonlinear, distance-based, probabilistic, tree-based, and ensemble techniques. To effectively calibrate the parameters and ensure the optimal selection of hyperparameters for each classifier, we employed GridSearchCV in our hyperparameter tuning process. We systematically explored a wide range of hyperparameter combinations for each classifier, within the context of a five-fold cross-validation process repeated 10 times. Table 4 lists the 14 classifiers we utilized, along with their respective hyperparameter settings.
As depicted in Figure 7, Figure 8 and Figure 9, the adaptive stacking ensemble learning process selects a subset of suitable classifiers from 14 base classifiers. This selection is based on a data-driven strategy defined by the groups of clinical variables for severity classification and the types of severity classes (i.e., CSS). To ensure robust performance, the selected classifiers were structured in a multi-layered architecture for prediction.
Figure 7 shows the structure of the Type 1 prediction, which comprises Groups 1–5 and predicts only two severity classes using the data-driven strategy. For the optimal combination of base classifiers, 8 out of 14 base classifiers (i.e., LGBM, XGB, DT, CAT, LR, RF, GNB, and MLP) were selected. All candidate base classifier models were structured in a two-layer architecture; RF, CAT, and LGBM were frequently selected. Additionally, for Groups 3 and 5, which included underlying diseases, the first layer consisted of three models.
Figure 8 shows the structure of Type 2 prediction, which encompasses Groups 1–5 and predicts three severity classes. This type expands the prediction scope when compared with that of Type 1, with three severity classes instead of two. For the optimal com-bination of base classifiers, 7 out of 14 classifiers (i.e., LGBM, ADA, RF, GNB, SVM2, SGD, and DT) were selected for Type 2. Except for the Group 1 model, which had fewer features (i.e., 9 clinical variables), the majority of the Type 2 models comprised the first layer. LGBM and RF were frequently selected as the base classifiers, whereas the remaining base classifiers were evenly incorporated into the combinations.
Figure 9 depicts the structure of Type 3 prediction, which is composed of Groups 1–5 and predicts five severity classes. Considering the complexity of predicting the five severity classes, the base classifiers were structured with three layers for Groups 1–3, whereas Groups 4 and 5, which included the blood test results, were structured with two layers. For the optimal combination of the base classifiers, 7 out of 14 classifiers (i.e., LGBM, GNB, LR, MLP, RF, ADA, and SVM2) were selected. MLP emerged as the most frequently selected base classifier across all group combinations for Type 3, and LGBM and LR were utilized in all groups except Group 3.

4. Results

In this section, we present a detailed description of the performance evaluation of our adaptive stacking ensemble technique. We first introduce the metrics used to evaluate our technique and discuss the results of the performance evaluations. The performance of our technique was evaluated through three experiments: (1) the performance of the prediction models, (2) the effectiveness of the data-driven strategy and oversampling, and (3) the effect of the feature selection algorithm on the performance.

4.1. Evaluation Metrics

We utilized a standard set of evaluation metrics for classification problems, including precision, recall, F1 score, specificity, and AUC score. The precision, recall, specificity, and F1 score were derived from a confusion matrix that classified the predictions into four categories: True Positive (TP), True Negative (TN), False Positive (FP), and False Negative (FN). Specifically, TP represents the number of correctly predicted positive instances, TN represents the number of correctly predicted negative instances, FP represents the number of negative instances incorrectly predicted as positive, and FN represents the number of positive instances incorrectly predicted as negative.
Precision is defined as the ratio of correctly predicted positive instances to all instances predicted as positive. It provides a measure of the accuracy of positive predictions. The equation used to determine precision is defined as follows:
P r e c i s i o n = T P T P + F P  
Recall, also known as the True Positive Rate (TPR), quantifies the ratio of correctly predicted positive cases to all actual positives. It offers insights into the model’s capacity to identify and retrieve relevant instances. The equation for recall is defined as follows:
R e c a l l = T P T P + F N
The F1 score, which is the harmonic mean of the precision and recall, provides a balance between these two metrics and is particularly useful in scenarios where one metric is more valuable than the other. The equation for the F1 score is defined as follows:
F 1 S c o r e = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l
In contrast, specificity represents the proportion of actual negative cases that are correctly classified. The equation for specificity is formally defined as follows.
S p e c i f i c i t y = T N T N + F P
The AUC score quantifies the entire two-dimensional area under the Receiver Operating Characteristic (ROC) curve, providing a comprehensive performance measure across all possible classification thresholds. The AUC score is formally defined as the integral of the ROC curve, which is the area between the ROC curve and False Positive Rate (FPR) axis. The equation is defined as follows:
A U C =   0 1 T P R ( F P R 1 ( x ) ) d x     w h e r e F P R = 1 S p e c i f i c i t y = F P T N + F P  
where T P R F P R 1 x represents the TPR as a function of the FPR. It maps the FPR to TPR to define the ROC curve. The integral spans from zero to one, effectively capturing the entire area under the ROC curve.

4.2. Performance of the Prediction Models

To evaluate our proposed technique, we conducted comparative experiments across three clinical severity classes using five groups of clinical variables, as defined by a data-driven strategy. Specifically, we carried out three sets of experiments: (1) Type 1 severity prediction for Groups 1–5; (2) Type 2 severity prediction for Groups 1–5; (3) Type 3 severity prediction for Groups 1– 5. The performance evaluation utilized a dataset comprising 1695 patients, which was divided during the data splitting and feature selection process. Moreover, we conducted comparative analyses with 14 well-known single classifiers, including Logistic Regression and XGBoost models. These models have previously been applied in studies utilizing the KDBC dataset to predict COVID-19 severity in South Korea [23,49,50]. To compare our results with those of more advanced methods, we also conducted experiments with two AutoML approaches: PyCaret, and H2O.ai [51,52]. PyCaret offers 16 classifiers, such as Linear Discriminant Analysis (LDA) and the Gradient Boosting Classifier (GBM), and streamlines the overall machine learning process by identifying optimal classifiers through efficient tuning. H2O.ai offers 18 classifiers, such as Distributed Random Forest (DRF) and the Generalized Linear Model (GLM), and enables the identification of the optimal classifiers or the automatic generation of stacking ensembles by combining models. For each model included in the performance evaluation, a total of 20 experiments were conducted, and the average performance results were recorded. Through these extensive evaluation processes, we comprehensively assessed each model’s effectiveness in accurately predicting the various severity levels of COVID-19.
Table 5 presents the average performance results of our adaptive stacking ensemble model in comparison to other single classifiers and AutoML approaches for predicting Type 1 severity across all groups. The highlighted sections in each table indicate the highest-performing classifiers and their corresponding scores.
The prediction of Type 1 severity across Groups 1–5 employs a binary classification to distinguish between general and ICU patients. Our proposed model demonstrated considerable robustness, achieving an average F1 score of 0.9588 and AUC score of 0.9380 across all groups. Compared to existing single classifiers, Logistic Regression achieved an average F1 score of 0.8832 and an AUC of 0.9203, indicating our model’s improvement of 7.56% in F1 and 1.77% in AUC scores. XGBoost achieved an F1 score of 0.9134 and an AUC of 0.8802, with our model showing an improvement of 4.54% in F1 and 5.78% in AUC scores. Moreover, our model significantly outperformed AutoML approaches. Compared to PyCaret, which recorded an F1 score of 0.9101 and an AUC of 0.8655, our model demonstrated improvements of 5.35% in F1 and 8.37% in AUC scores. Similarly, compared to H2O.ai, which achieved an F1 score of 0.9180 and an AUC of 0.8423, our model showed improvements of 4.40% in F1 and 9.57% in AUC scores. Furthermore, when compared to the average of all single classifiers and AutoML approaches, which had an F1 of 0.8946 and an AUC of 0.8494, our model showed an improvement of 7.18% in F1 and 10.43% in AUC scores for Type 1 severity. The enhanced performance of our model, especially evident in its recall and F1 score, signifies its effectiveness in accurately identifying patients at risk of severe COVID-19 outcomes.
For a more detailed understanding, Table 6 provides a summary of the comparative performance results for Type 1 severity across Groups 1–5. Comprehensive performance results of the comparisons with all 14 individual classifiers and AutoML approaches can be found in Table A1 of Appendix A.
Based on a detailed observation of each group’s performance, the proposed model’s severity prediction for Group 1 was lower than that of other groups, with an F1 score of 0.9281 and AUC score of 0.8772. This lower performance is due to Group 1 considering only nine clinical variables related to demographics and vital signs, with feature selection further reducing this to five variables, thus offering fewer features compared to other groups. Consequently, the performance of other single classifiers and AutoML approaches in Group 1 was also observed to be lower. In Group 2, which was formed by expanding Group 1 through the addition of symptoms, the proposed model showed a performance improvement of 1.33% in the F1 score and 3.76% in the AUC score when compared with the results for Group 1. Other single classifiers and AutoML approaches also demonstrated that the inclusion of symptoms has a positive impact on prediction performance. In Group 3, the addition of symptoms and past or current medical history as clinical variables resulted in a performance improvement of 1.91% in the F1 score and 4.07% in the AUC score when compared with the results for Group 1. However, a comparison of Groups 3 and 2 shows that the inclusion of past or current medical history did not significantly enhance the severity prediction performance of Group 3. The improvement was only 0.58% in the F1 score and 0.31% in the AUC score. Other single classifiers and AutoML approaches also showed a less than 1% rise in the F1 score, and for logistic regression, a decrease in AUC scores was observed. This indicates that including a patient’s past medical information in situations where patient symptom information is available does not significantly enhance the severity prediction performance. In Groups 4 and 5, which utilized blood test results, there was a significant improvement in the performance of all models when compared with the results of Groups 2 and 3. Specifically, the proposed model demonstrated exceptional performance in Groups 4 and 5, with F1 scores of 0.9871 and 0.9899 and AUC scores of 0.9974 and 0.9977, respectively. These results underscore the importance of blood test results for accurately predicting the severity of COVID-19. However, the AutoML approaches exhibited a relatively lower performance in Groups 4 and 5, showing only slight improvements or even decreases in AUC scores from Group 4 to Group 5. This observation confirms the feasibility and effectiveness of our proposed model for predicting COVID-19 severity.
Table 7 presents the average performance results of the proposed adaptive stacking ensemble model in comparison to other single classifiers and AutoML approaches for predicting Type 2 severity across all groups.
The prediction of Type 2 severity was classified into three classes: ‘mild’, ‘severe’, and ‘critical’. This detailed classification increased complexity compared to Type 1, resulting in an 8.6% decrease in the average F1 score and 10.5% decrease in the average AUC score for our proposed model. Despite these challenges, the proposed model demonstrated a superior performance in predicting Type 2 severity relative to other single classifiers and AutoML approaches. Despite these challenges, the proposed model demonstrated a superior performance in predicting Type 2 severity compared to other single classifiers and AutoML approaches. Specifically, the proposed model achieved an F1 score of 0.8720 and an AUC score of 0.8198, outperforming the averages of other models, including logistic regression, XGBoost, and two AutoML approaches. This underscores our model’s robustness and effectiveness in more complex classification scenarios, highlighting its utility in accurately predicting the severity of COVID-19.
Table 8 provides a summary of the comparative performance results for Type 2 severity across Groups 1–5. Comprehensive performance results of the comparisons with all 14 individual classifiers and AutoML approaches can be found in Table A2 of Appendix A.
In Groups 1–3, we observed an improvement in performance associated with an increase in the number of clinical variables. However, a significant improvement in performance was observed in Groups 4 and 5, which included blood test results. This indicates that clinical variables related to blood tests significantly affect classification performance. However, the two AutoML approaches, PyCaret and H2O.ai, showed only slight improvements in Groups 4 and 5. This is because PyCaret and H2O.ai select the optimal single classifier rather than constructing stacking ensemble models for each group. Additionally, these two AutoML approaches typically streamline the parameter tuning process and utilize a limited selection of single classifiers to enhance user convenience. However, these approaches limit the capacity for detailed hyperparameter tuning and restrict the use of a diverse range of models to adequately capture intricate patterns. As a result, they prevent the AutoML tools from fully understanding the complexities and specific interdependencies present in complex clinical datasets. Consequently, this could lead to the unique requirements or the most effective configurations that are essential for particular clinical tasks being overlooked.
Moreover, Logistic Regression shows high specificity across all groups but has a comparatively lower F1 score than other models, indicating a limitation in handling multiclass classifications with higher complexity. Overall, the proposed model outperformed single models, such as Logistic Regression, XGBoost, and LGBM, in most groups. Specifically, Group 5 achieved an F1 score of 0.9318 and AUC score of 0.9121, indicating good performance. These results demonstrated the potential advantages of the ensemble approach compared to single classifiers and AutoML for complex clinical classification tasks.
Table 9 presents the average performance results of the proposed adaptive stacking ensemble model in comparison to other single classifiers and AutoML approaches for predicting Type 2 severity across all groups.
The prediction of Type 3 severity requires a more detailed classification than that required for Type 2 severity. Type 3 is classified into five classes: ‘asymptomatic’, ‘mild’, ‘moderate’, ‘severe’, and ‘fatal’. The classification of the severity classes for Type 3 increased in complexity when compared with those for Types 1 and 2. As a result, our model’s average F1 score decreased by 18.8% and 10.2% when compared with the results for Types 1 and 2, respectively. Similarly, the average AUC scores decreased by 16.4% and 5.9%, respectively. However, this reduction was also observed across other single classifiers and AutoML approaches. The proposed model achieved an F1 score of 0.7981 and an AUC score of 0.7736, outperforming the average of other models, including Logistic Regression, XGBoost, and two AutoML approaches.
Table 10 provides a summary of the comparative performance results for Type 3 severity across Groups 1–5. Comprehensive performance results of the comparisons with all 14 individual classifiers and AutoML approaches can be found in Table A3 of Appendix A.
Similar to the performance observed for Types 1 and 2, an increase in the number of clinical variables from Groups 1–5 resulted in improved F1 and AUC scores. However, the improvement in our proposed model from Group 2 to Group 3 was limited, with only a 1.5% increase in the F1 score and a 4.4% increase in the AUC score. Similarly, the performance of other single classifiers and AutoML approaches was observed to be lower in comparison. This suggests that a patient’s current or past medical history may not be as crucial as significant predictive variables when patient symptom information is available. Groups 4 and 5, which included the blood test results as clinical variables, showed significant performance improvements. Thus, all experiments confirmed that blood test results could be used as important variables for predicting the severity of COVID-19.
Moreover, while the AutoML approaches PyCaret and H2O.ai demonstrated performance enhancements in Groups 1 and 2, they did not consistently outperform our proposed model. Specifically, PyCaret showed notable F1 scores, such as 0.7304 in Group 1 and 0.7517 in Group 2, by utilizing various single classifiers, including Logistic Regression and Gaussian Naïve Bayes. Similarly, H2O.ai, through its ensemble strategy that incorporates multiple models in stacking configurations, presented competitive results, with F1 scores of 0.7340 in Group 1 and 0.7313 in Group 2. However, despite these achievements, both AutoML approaches exhibited only slight enhancements in Groups 4 and 5. This issue becomes particularly apparent in scenarios requiring finer parameter calibration and model tuning due to the increased complexity introduced by a larger number of clinical variables. Specifically, H2O.ai’s optimization focuses on model parameters, without directly optimizing the data itself, making its performance highly dependent on the characteristics of the data. This leads to potential shortcomings in effectively capturing the intricate patterns present in blood tests and other clinical variables.
Similar to the classification of severity in Type 2, Logistic Regression showed higher specificity but lower F1 and AUC scores than our proposed model. This implies that logistic regression has a low prediction rate for true positives and high number of false negatives for a specific class. In other words, it often misclassifies the severity classes, potentially leading to incorrect negative results. Therefore, the use of logistic regression tends to critical severity classes being overlooked, indicating that essential severity information that is necessary for treatment might be missed.
When predicting Type 3 severity, the proposed model in Group 5 showed the highest performance, with an F1 score of 0.8754 and AUC score of 0.9115. However, the specificity was observed to be relatively low. This means that the model accurately identified almost all individuals with severe disease, but also incorrectly classified a significant number of healthy individuals. Such a situation often occurs during the early diagnosis of serious diseases that can have drastic consequences if undiagnosed. Therefore, our proposed model for early diagnosis may misclassify some healthy individuals as having critical severity. However, it is crucial that the model does not overlook or miss actual severe cases. Therefore, prioritizing high F1 and AUC scores is an important strategy when making critical medical decisions. Accordingly, our results can play a critical role in making important diagnostic decisions in life-threatening situations.
Figure 10 illustrates a comparison of the performance between Logistic Regression, XGBoost, PyCaret, H2O.ai, and our proposed model, specifically focusing on F1 and AUC scores for Groups 1, 3, and 5 within our data-driven strategy across all data types. Based on these experiments, our observations can be summarized as follows:
(i)
As the number of classified classes (i.e., types of severity) increases, the need for detailed classification leads to increased complexity, which, in turn, degrades the performance of each model. However, our proposed model demonstrated a superior performance compared to existing single models and AutoML approaches, providing better adaptive predictive results even when not all clinical variables could be collected due to the hospital’s circumstances.
(ii)
By comparing Groups 2 and 3, it was found that the patient’s current or past medical history was not an essential clinical variable when information about patient symptoms is available. Therefore, an appropriate classifier performance can be achieved using the patient’s personal information and symptom details.
(iii)
The performance improves as the number of clinical variables increases. Clinical variables related to blood tests are particularly important for severity classification. However, AutoML approaches are constrained by their limited scope for detailed hyperparameter tuning and the restriction on the variety of models they can utilize. This can lead to a relative decrease in performance when dealing with complex clinical datasets with a larger number of clinical variables.
(iv)
Our proposed stacking ensemble classifier consistently exhibited a superior performance to various types of single classifiers in all cases.

4.3. Effectiveness of Data-Driven Strategy and Oversampling

To evaluate the effectiveness of the data-driven strategy, we evaluated the performances of the original eight classes, each sub-classified into eight severity classes based on the CSS, and compared them with those of Types 1, 2, and 3, which were developed to address data imbalance issues. In this experiment, we compared the clinical variables of Group 5, which included blood test results, by utilizing 37 clinical variables. The performance of the original eight classes was measured using the LGBM, which was the most effective of the single classifiers. We evaluated the performances of Types 1, 2, and 3 using the proposed model.
Table 11 shows the precision, recall, F1 score, specificity, and AUC score for the clinical severities of the eight original classes obtained using the LGBM. Table 12 presents the precision, recall, F1 score, specificity, and AUC score for the clinical severity of Types 1, 2, and 3 using the proposed model.
The prediction results for the CSS of the original eight classes were generally poorer than those of the proposed model. This difference was primarily due to data imbalances, which were particularly noticeable in classes with a limited number of data (i.e., number of supports) in the test dataset. As a result, in some classes, such as ‘Oxygen supply with facial mask required’, ‘Non-invasive mechanical ventilation’, ‘Invasive mechanical ventilation’, and ‘Multi-organ failure or ECMO’, the Precision, Recall, and F1 scores were very low or close to zero. This indicates that the performance and reliability may be significantly reduced, especially in classes with insufficient data samples. The proposed model applies a data-driven strategy, reconfiguring the original eight classes into Types 1, 2, and 3. This adjustment alleviated the prevailing data imbalance and facilitated a relatively consistent performance across the different classes.
In addition, the use of an oversampling strategy effectively mitigated the shortcomings of the training data, thereby improving the overall performance of the model. Healthcare data have unique characteristics that can lead to concerns regarding performance degradation or the distortion of data attributes during oversampling. Therefore, we evaluated the performances of Logistic Regression, XGBoost, PyCaret, H2O.ai, and our proposed model by using Group 5 clinical variables across clinical severity types 1, 2, and 3. Evaluations were conducted both before and after applying oversampling using the SMOTE and ADASYN techniques. We utilized external libraries such as ‘imbalanced-learn’ in Python to perform the oversampling and then processed the data under the same conditions. For each model included in the performance evaluation, a total of 20 experiments were conducted, and the average performance results were recorded. Table 13 and Figure 11 present the performance results of the proposed models, demonstrating the effectiveness of the oversampling strategy.
Overall, the oversampling technique contributed to the improvement in the F1 and AUC scores for all classifiers. For Type 1, the proposed model showed an increase in the F1 score of 3.08% when applying SMOTE and of 5.89% when applying ADASYN. Additionally, the AUC score improved by 5.17% with SMOTE and 5.41% with ADASYN. For Type 2, the improvements were more moderate than those for Type 1. The F1 score increased by 1.86% for SMOTE and 3.46% for ADASYN, whereas the AUC score increased by 1.55% for SMOTE and 1.64% for ADASYN. Finally, for Type 3, there was a notable increase in the F1 score by 5.33% with SMOTE and 7.63% with ADASYN, and the AUC score increased by 3.39% and 6.43%, respectively.
In the case of XGBoost, PyCaret (CatBoost), and H2O.ai (GBM), oversampling did not lead to significant improvements across any of the types. This lack of improvement was attributed to the nature of the boosting algorithms. For instance, XGBoost and CatBoost construct new trees by correcting the errors in the previously created, weaker decision trees. Due to this approach, the oversampled data did not significantly contribute to the results. Consequently, the models in Type 2, especially those using boosting ensemble models such as LGBM and RF, as well as those utilizing AutoML approaches based on boosting techniques, did not show substantial performance improvements after oversampling. However, the proposed combination of models in Type 3, which included a variety of models such as MLP and SVM, demonstrated the most remarkable performance improvement.

4.4. Effect of Feature Selection Algorithm on Performance Results

To select the important features that influence clinical severity, we evaluated the effects of 37 input clinical variables on the severity and selected an optimal subset of features that could improve the prediction performance by removing less relevant features. For this purpose, we proposed a feature selection algorithm based on greedy search algorithms, including forward selection, backward elimination, and RFECV. To evaluate the effectiveness of our proposed feature selection algorithm, we conducted comparative experiments with no feature selection and with forward selection, backward elimination, RFECV, or the proposed algorithm.
Table 14 presents the features selected by each of the feature selection methods for Groups 1, 3, and 5, which were defined in the data-driven strategy for the 37 clinical variables. The detailed results for all groups are presented in Table A4 (Appendix B).
Each feature selection method selects a different number of features, except for Group 1, which has a smaller total number of features. The forward selection method begins without any selected features and incrementally adds features that contribute to performance improvements. Consequently, this method selects a relatively small number of features across all groups, thereby increasing the risk of overall performance degradation due to the inclusion of a few features. In contrast, the backward elimination method begins by including all features and sequentially removes those with the least effect on the performance. This method tends to consider most features as important, and therefore eliminates only a small number of features across all groups. As a result, it selects a larger number of features for all groups than the other methods. However, this method can lead to inefficient feature selection because an insufficient number of features are properly removed. The RFECV method operates by iteratively training the model and removing less-significant features. With each iteration, the model is retrained with the remaining features and less important features are discarded. This process continues until the optimal number of features is determined through cross-validation; thus, a greater number of features is removed from all groups when compared with those removed in backward elimination. Finally, the proposed algorithm combines the features extracted by forward selection, backward elimination, and RFECV, ultimately returning only the important features selected by at least two methods. This approach has the advantage of encompassing features that might have been overlooked by other feature selection algorithms.
Table 15 shows the performance results of the feature selection for each group in Type 1 in terms of the F1 and AUC scores. To assess the feature-selection performance, we evaluated the performances of various feature-selection algorithms when applied to the proposed models derived for each type. The bold and underlined results in the table represent the most outstanding performances.
The results for Type 1, which included simple binary classification, generally showed high performance in terms of both F1 and AUC scores. Most algorithms exhibited the highest F1 and AUC scores in Group 5. In terms of the F1 score, the proposed algorithm showed a superior performance across all groups when compared with the other algorithms. Regarding the AUC, the other algorithms showed a competitive performance in Groups 2 and 3, but there was no significant difference when compared with the proposed algorithm. In Group 1, both RFECV and the proposed algorithm resulted in identical feature selection outcomes, leading to identical F1 and AUC scores of 0.9281 and 0.8722, respectively. For Type 1, there was no significant difference in performance because the number and types of features selected by the algorithms were similar. Figure 12 illustrates the average F1 and AUC scores for each feature selection algorithm across Groups 1–5 for Type 1.
Table 16 and Table 17 present the performance results of the feature selection for each group for Types 2 and 3 in terms of the F1 and AUC scores. It was observed that, for Types 2 and 3, which had a more diverse range of classes for classification, there was an overall decrease in performance in terms of both F1 and AUC scores when compared with the result for Type 1. Figure 13 and Figure 14 illustrate the average F1 and AUC scores for each feature selection algorithm across Groups 1–5 for Types 2 and 3, respectively.
In the case of forward selection, the F1 and AUC scores for Types 2 and 3 decreased when compared with that in the case where no feature selection was performed, mainly because the number of selected features was too small. In Type 2, when compared with the results obtained when no feature selection was performed, the average F1 score decreased by 0.41% and the AUC score decreased by 0.1%. In Type 3, the F1 score decreased by 0.32% and the AUC score decreased by 0.85% when compared with the results for the case when no feature selection was performed. With backward elimination, there was no significant improvement in the performance when compared with the results obtained when no feature selection was performed. In Type 2, the average F1 score increased by 0.25% and the AUC score increased by 1.54%, whereas in Type 3, the average F1 score increased by 0.03% and the AUC score decreased by 0.14%. This was because backward elimination removes a relatively small number of features. The performance of RFECV was better than the performance of forward selection and backward elimination. This was because RFECV can remove or include important features through recursive model retraining during the feature selection process. In Type 2, RFECV showed an average increase of 1.19% in the F1 score and 2.54% in the AUC score when compared with the results obtained when no feature selection was performed. In Type 3, average increases of 0.83% in the F1 score and 1.51% in the AUC score were observed when compared with the results when no feature selection was performed. Finally, the proposed algorithm outperformed the other feature-selection algorithms. Type 2 demonstrated an average increase of 2.09% in the F1 score and 4.64% in the AUC score. Similarly, for Type 3, the proposed algorithm showed an average increase of 1.76% in the F1 score and 2.72% in the AUC score.

5. Conclusions

In this paper, we presented an adaptive stacking ensemble technique to effectively identify various COVID-19 severity levels in patients. This technique could be particularly useful in the early stages of the healthcare response to pandemics, such as COVID-19, even when resources are limited. To enhance the generalizability of our model, we utilized a nationwide dataset provided by the South Korean government, which included data on 5644 patients from more than 100 hospitals. Using a data-driven strategy, we grouped the clinical variables, developed adaptive models for various combinations, and presented the results for each group and severity type. We also analyzed important clinical variables using feature selection methods to improve our severity prediction model’s performance by focusing on highly important features and removing variables of low relevance. Finally, we proposed a method for automatically constructing an adaptive stacking ensemble model that predicts the severity levels more accurately than existing single classifiers and AutoML approaches.
Despite our contributions, our research faced several limitations. Stacking ensemble models typically face challenges such as computational complexity and an extensive computation time. Although our processes, such as data preprocessing, feature selection, and oversampling, are automated using our proposed algorithms, they still require significant computational resources. Consequently, rapidly generating these models remains challenging in time-sensitive tasks and during data updates. Furthermore, although our implementation outperformed AutoML approaches in experimental evaluations, we were unable to enhance computational efficiency compared to AutoML approaches, which often utilize cloud computing or parallel processing. Instead, our goal was to enhance the performance in the identification of various COVID-19 severity levels within the constraints of clinical environments. Moreover, since our research was based on data from South Korean patients, the results may not be generalizable to other ethnic groups, such as Caucasians or Middle Eastern Asians. Therefore, external validation using a more diverse population is necessary to evaluate the effectiveness of the model across different ethnic groups. Additionally, our model’s performance needs to be verified in real-world scenarios. Our research was limited to clinical epidemiological datasets.
In future work, we aim to apply our technique to diverse datasets, including those from various ethnic groups. To achieve this, we plan to develop a user-friendly web application. This application will enable a real-time training framework that allows our model to learn from prospectively collected data and provides optimizations to reduce computational overhead via the use of cloud computing resources. Furthermore, the surge in COVID-19 cases has led to a significant increase in medical documents, such as clinical notes, offering new opportunities for our approach to identify patient severity through NLP and LLMs. However, LLMs present their own challenges, including the risk of generating hallucinated content and a dependency on prompt engineering for quality results. We intend to address these challenges and incorporate LLMs into our technique. This will automate the interpretation of text-based unstructured data. This integration could significantly enhance the strengths of our data-driven strategy. Furthermore, we will examine the model’s adaptability and relevance in the post-COVID period, aiming to enhance its practical implementation. Our goal is not only to refine the technical aspects of our approach but also to ensure its practical applicability in real-world healthcare settings.

Author Contributions

Conceptualization: G.-W.K., H.S. and D.-H.L.; Methodology: G.-W.K.; Software: G.-W.K. and C.-Y.J.; Validation: G.-W.K., H.S. and D.-H.L.; Formal Analysis: G.-W.K., H.S. and C.-Y.J.; Investigation: G.-W.K.; Resources: C.-Y.J., H.S. and D.-H.L.; Data Curation: G.-W.K., C.-Y.J. and H.S.; Writing—Original Draft Preparation: G.-W.K.; Writing—Review and Editing: G.-W.K., C.-Y.J. and D.-H.L.; Visualization: G.-W.K. and C.-Y.J.; Supervision: D.-H.L.; Project Administration: G.-W.K. and D.-H.L.; Funding Acquisition: G.-W.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF), funded by the Ministry of Education, Science and Technology (NRF-2021R1G1A1006381).

Institutional Review Board Statement

The protocol of this retrospective study was approved by the Institutional Review Board of Korea University Ansan Hospital (K2021-0013-005) and followed the principles of the Declaration of Helsinki.

Informed Consent Statement

The requirement for obtaining informed patient consent was waived by the institutional review board (K2021-0013-005) due to the retrospective nature of the study.

Data Availability Statement

The data supporting the findings of this paper were provided by the KCDC, but their availability is subject to certain restrictions. As these data were used under a license for this specific study, they are not publicly accessible. Due to KDCA guidelines that prohibit the sharing of data by researchers, it is not possible to share the data publicly. However, they can be made available by the authors upon reasonable request and with the permission of the KCDC.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A. Performance Results of the Comparison with All 14 Individual Classifiers and AutoML Approaches

Table A1. Detailed performance results of Type 1 severity for Groups 1–5.
Table A1. Detailed performance results of Type 1 severity for Groups 1–5.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
Group 1Logistic Regression (LR)0.94160.77400.84960.76040.8989
Support Vector Machine 1 (SVM 1)0.89020.78460.83410.73360.8503
Support Vector Machine 2 (SVM 2)0.88240.78950.83340.38980.7718
Stochastic Gradient Descent (SGD)0.90890.77660.83760.72620.8438
K-Nearest Neighbor (KNN)0.88140.84430.86250.48320.6513
Multi-Layer Perceptron (MLP)0.90870.71210.79850.78410.8505
Gaussian Naïve Bayes (GNB)0.90490.83060.86620.60580.8312
Decision Tree (DT)0.88350.84340.86300.51060.5930
Extra Trees Classifier (ExTree)0.88610.83940.86210.55170.6086
XGBoost (XGB)0.88830.87350.88080.46440.8007
Light Gradient Boosting Machine (LGBM)0.89320.87700.88500.50590.8105
Random Forest (RF)0.88590.86020.87290.49110.8097
AdaBoost (ADA)0.89220.85400.86970.47560.8445
CatBoost (CAT)0.89220.87570.88390.55400.8197
PyCaret (CatBoost (CAT))0.91880.89970.90910.60920.7849
H2O.ai (Gradient Boosting Machine (GBM))0.93470.91010.92230.72780.8406
Proposed Model (Group 1-CSS Type 1)
(Stacking: 1st layer: LGBM, 2nd layer: XGB, MLP, Meta: LR)
0.92620.93010.92810.60260.8722
Group 2Logistic Regression (LR)0.94790.79390.86410.81680.9327
Support Vector Machine 1 (SVM 1)0.91550.79250.84960.78920.8799
Support Vector Machine 2 (SVM 2)0.86910.86710.87260.26500.7755
Stochastic Gradient Descent (SGD)0.91460.75850.82930.80760.8735
K-Nearest Neighbor (KNN)0.89620.91380.90490.60830.7117
Multi-Layer Perceptron (MLP)0.91050.81070.85770.70770.8616
Gaussian Naïve Bayes (GNB)0.91500.79960.85340.77580.8540
Decision Tree (DT)0.89440.86950.88180.56050.6250
Extra Trees Classifier (ExTree)0.89700.85890.87750.63550.6571
XGBoost (XGB)0.90400.88760.89570.58230.8495
Light Gradient Boosting Machine (LGBM)0.90550.88940.89640.58930.8562
Random Forest (RF)0.90060.87210.88610.54820.8626
AdaBoost (ADA)0.90140.87290.88690.54820.8739
CatBoost (CAT)0.90840.88470.89740.57590.8645
PyCaret (Random Forest (RF))0.89930.89330.89630.54230.8462
H2O.ai (Stacking: 1st layer: 1 GBM, 1 GLM, 2 DRF, Meta: GLM)0.93540.85920.89570.80960.8410
Proposed Model (Group 2-CSS Type 1)
(Stacking: 1st layer: CAT, 2nd layer: CAT, LR, Meta: LR)
0.94070.94210.94140.72140.9098
Group 3Logistic Regression (LR)0.94970.81290.87600.81800.8880
Support Vector Machine 1 (SVM 1)0.91850.80050.85540.81720.8851
Support Vector Machine 2 (SVM 2)0.85950.87440.86690.01670.7862
Stochastic Gradient Descent (SGD)0.91700.79030.84890.80970.8863
K-Nearest Neighbor (KNN)0.90290.87750.89000.43670.7164
Multi-Layer Perceptron (MLP)0.91000.83240.86950.66780.8549
Gaussian Naïve Bayes (GNB)0.91480.81380.86130.75610.8403
Decision Tree (DT)0.89490.86290.87860.59450.6385
Extra Trees Classifier (ExTree)0.89270.85670.87430.58720.6319
XGBoost (XGB)0.90540.89160.89840.56190.8578
Light Gradient Boosting Machine (LGBM)0.90080.89470.89770.62400.8698
Random Forest (RF)0.90980.89250.90110.55540.8654
AdaBoost (ADA)0.90980.89720.90350.55540.8777
CatBoost (CAT)0.90800.89430.90110.57580.8715
PyCaret (CatBoost (CAT))0.90320.90750.90530.52370.8532
H2O.ai (Gradient Boosting Machine (GBM))0.93580.87600.90490.80850.8426
Proposed Model (Group 3-CSS Type 1)
(Stacking: 1st layer: LGBM, CAT, RF, 2nd layer: LGBM, GNB, Meta: LR)
0.94710.94740.94720.65260.9129
Group 4Logistic Regression (LR)0.93630.88500.90990.89140.9412
Support Vector Machine 1 (SVM 1)0.93400.87440.90320.89070.9412
Support Vector Machine 2 (SVM 2)0.85330.88980.87120.06020.8965
Stochastic Gradient Descent (SGD)0.93540.88100.90740.89120.9401
K-Nearest Neighbor (KNN)0.93950.91990.92960.68030.8510
Multi-Layer Perceptron (MLP)0.94670.91820.93220.87980.9445
Gaussian Naïve Bayes (GNB)0.92770.85360.88910.85500.9035
Decision Tree (DT)0.94910.92920.93900.76350.8564
Extra Trees Classifier (ExTree)0.93100.90750.91910.67260.8001
XGBoost (XGB)0.95730.93630.94670.87410.9469
Light Gradient Boosting Machine (LGBM)0.95650.93580.94600.85340.9476
Random Forest (RF)0.95660.93580.94610.86030.9474
AdaBoost (ADA)0.95660.93430.94530.86030.9478
CatBoost (CAT)0.95750.93430.94580.87410.9479
PyCaret (Logistic Regression (LR))0.93130.89970.91520.88520.9410
H2O.ai (Stacking: 1st layer: 1 GBM, 1 GLM, 2 DRF, Meta: GLM)0.93570.91360.92450.86850.8439
Proposed Model (Group 4-CSS Type 1)
(Stacking: 1st layer: RF, 2nd layer: RF, LR, Meta: LR)
0.98710.98720.98710.89590.9974
Group 5Logistic Regression (LR)0.93760.89650.91660.86460.9407
Support Vector Machine 1 (SVM 1)0.93580.89030.91250.86420.9405
Support Vector Machine 2 (SVM 2)0.86330.89080.87680.06020.8571
Stochastic Gradient Descent (SGD)0.93860.89960.91870.86480.9384
K-Nearest Neighbor (KNN)0.93220.91150.92170.64540.8145
Multi-Layer Perceptron (MLP)0.94550.91730.93120.86600.9420
Gaussian Naïve Bayes (GNB)0.92210.84470.88170.79940.8935
Decision Tree (DT)0.95000.92700.93840.84590.8965
Extra Trees Classifier (ExTree)0.91480.89380.90420.50660.7102
XGBoost (XGB)0.95610.93500.94540.86710.9460
Light Gradient Boosting Machine (LGBM)0.95580.93450.94500.86710.9473
Random Forest (RF)0.95880.93890.94870.83290.9467
AdaBoost (ADA)0.95880.93890.94870.83290.9469
CatBoost (CAT)0.95830.93720.94760.88790.9476
PyCaret (CatBoost (CAT))0.91760.93180.92460.83210.9024
H2O.ai (Stacking: 1st layer: 1 GBM, 1 GLM, 2 DRF, Meta: GLM)0.93550.91800.92670.86790.8433
Proposed Model (Group 5-CSS Type 1)
(Stacking: 1st layer: RF, MLP, SGD 2nd layer: RF, SGD, Meta: LR)
0.99010.99080.99040.94430.9977
AverageLogistic Regression (LR)0.94260.83250.88320.83020.9203
XGBoost (XGB)0.92220.90480.91340.67000.8802
PyCaret0.91400.90640.91010.67850.8655
H2O.ai0.93540.89540.91480.81650.8423
Average of 14 Single Classifiers0.91680.86980.89200.66760.8487
Average of 2 AutoML Approaches0.92470.90090.91250.74750.8539
Average of All Single Classifiers and AutoML0.91780.87370.89460.67760.8494
Proposed Model (CSS Type 1)0.95820.95950.95880.76340.9380
Table A2. Detailed performance results of Type 2 severity for Groups 1–5.
Table A2. Detailed performance results of Type 2 severity for Groups 1–5.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
Group 1Logistic Regression (LR)0.80600.71860.75980.76700.7632
Support Vector Machine 1 (SVM 1)0.80310.72650.76290.68330.7562
Support Vector Machine 2 (SVM 2)0.77180.66590.71490.58580.6890
Stochastic Gradient Descent (SGD)0.77660.73410.75480.61440.6720
K-Nearest Neighbor (KNN)0.77690.77210.77450.50300.6243
Multi-Layer Perceptron (MLP)0.81330.65580.72610.70470.7590
Gaussian Naïve Bayes (GNB)0.79600.74470.76950.63660.7314
Decision Tree (DT)0.76290.76190.76240.44850.5652
Extra Trees Classifier (ExTree)0.75900.74160.75020.46410.5615
XGBoost (XGB)0.76900.82430.79570.44680.7470
Light Gradient Boosting Machine (LGBM)0.77830.81620.79680.50670.7569
Random Forest (RF)0.76990.79770.78360.44720.7469
AdaBoost (ADA)0.76990.79770.78360.44720.7086
CatBoost (CAT)0.77670.81630.79600.51720.7426
PyCaret (AdaBoost (ADA))0.79710.82260.80960.59540.7299
H2O.ai (Generalized Linear Modeling (GLM))0.80470.81500.80980.60210.7511
Proposed Model (Group 1-CSS Type 2)
(Stacking: 1st layer: LGBM, ADA, 2nd layer: RF, GNB, SVM2 Meta: LR)
0.81190.82040.81610.53400.7522
Group 2Logistic Regression (LR)0.81720.69520.75130.75610.7852
Support Vector Machine 1 (SVM 1)0.82260.70230.75770.74580.7861
Support Vector Machine 2 (SVM 2)0.71340.76200.73690.15420.7154
Stochastic Gradient Descent (SGD)0.81390.72180.76510.70740.7740
K-Nearest Neighbor (KNN)0.77900.75720.76790.47410.6349
Multi-Layer Perceptron (MLP)0.81860.67360.73910.75540.7662
Gaussian Naïve Bayes (GNB)0.81050.70590.75460.69600.7727
Decision Tree (DT)0.77200.73770.75450.48200.5773
Extra Trees Classifier (ExTree)0.78060.72530.75190.53450.6011
XGBoost (XGB)0.79380.79870.79620.46340.7736
Light Gradient Boosting Machine (LGBM)0.80070.80100.80080.49280.7890
Random Forest (RF)0.79030.79790.79410.45620.7913
AdaBoost (ADA)0.78980.79610.79380.45370.7663
CatBoost (CAT)0.79090.78900.78990.48200.7697
PyCaret (AdaBoost (ADA))0.80580.82120.81340.60720.7996
H2O.ai (Generalized Linear Modeling (GLM))0.81160.85320.83180.61020.7629
Proposed Model (Group 2-CSS Type 2)
(Stacking: 1st layer: RF, Meta: LR)
0.83030.84800.83910.61050.7769
Group 3Logistic Regression (LR)0.82130.68150.74490.77010.7886
Support Vector Machine 1 (SVM 1)0.82570.68730.75020.76870.7923
Support Vector Machine 2 (SVM 2)0.70380.77400.73720.10920.7231
Stochastic Gradient Descent (SGD)0.82020.68020.74370.75650.7780
K-Nearest Neighbor (KNN)0.78950.74480.76650.43650.6327
Multi-Layer Perceptron (MLP)0.81300.70410.75460.69970.7663
Gaussian Naïve Bayes (GNB)0.85070.10300.18380.73960.7589
Decision Tree (DT)0.78390.74430.76360.51620.5975
Extra Trees Classifier (ExTree)0.76690.71780.74150.47050.5748
XGBoost (XGB)0.80180.80450.80310.47830.7812
Light Gradient Boosting Machine (LGBM)0.80780.80670.80720.50040.7950
Random Forest (RF)0.80430.80540.80480.47610.8010
AdaBoost (ADA)0.80430.80540.80480.47610.7319
CatBoost (CAT)0.79850.79430.79640.49920.7800
PyCaret (Logistic Regression (LR))0.80730.84280.82470.61420.8003
H2O.ai (Gradient Boosting Machine (GBM))0.80690.84670.82630.61150.7721
Proposed Model (Group 3-CSS Type 2)
(Stacking: 1st layer: LGBM, SGD, Meta: LR)
0.86280.85500.85890.75850.8187
Group 4Logistic Regression (LR)0.85770.76650.80950.84530.8716
Support Vector Machine 1 (SVM 1)0.85960.75760.80540.83450.8720
Support Vector Machine 2 (SVM 2)0.68910.79740.73930.08450.8003
Stochastic Gradient Descent (SGD)0.84710.77570.80980.80110.8352
K-Nearest Neighbor (KNN)0.82750.80230.81470.62320.7293
Multi-Layer Perceptron (MLP)0.86290.80890.83500.80570.8743
Gaussian Naïve Bayes (GNB)0.87680.11140.19770.81930.8127
Decision Tree (DT)0.83530.79610.81520.70750.6899
Extra Trees Classifier (ExTree)0.81750.76340.78950.64390.6722
XGBoost (XGB)0.87140.85400.86260.72990.9057
Light Gradient Boosting Machine (LGBM)0.88340.86240.87280.76450.9126
Random Forest (RF)0.87030.84920.85960.73650.9011
AdaBoost (ADA)0.87030.84920.85960.73650.7862
CatBoost (CAT)0.87390.85670.86520.73010.9021
PyCaret (Gaussian Naïve Bayes (GNB))0.80840.82480.81650.81930.8262
H2O.ai (Gradient Boosting Machine (GBM))0.81910.85900.83860.80250.7931
Proposed Model (Group 4-CSS Type 2)
(Stacking: 1st layer: LGBM, RF, Meta: LR)
0.92030.91690.91860.86830.9031
Group 5Logistic Regression (LR)0.86240.77000.81360.86830.8654
Support Vector Machine 1 (SVM 1)0.86450.76160.80980.84440.8661
Support Vector Machine 2 (SVM 2)0.68880.79740.73910.08210.7721
Stochastic Gradient Descent (SGD)0.85000.76070.80290.81350.8111
K-Nearest Neighbor (KNN)0.81300.78460.79850.55350.7180
Multi-Layer Perceptron (MLP)0.85480.80940.83150.76210.8753
Gaussian Naïve Bayes (GNB)0.87350.43250.57850.82330.8290
Decision Tree (DT)0.85370.81820.83560.73370.7369
Extra Trees Classifier (ExTree)0.80010.75360.77620.58010.6399
XGBoost (XGB)0.87670.85980.86820.71570.9062
Light Gradient Boosting Machine (LGBM)0.88070.86110.87080.74250.9115
Random Forest (RF)0.87150.85140.86130.73670.9036
AdaBoost (ADA)0.87150.85140.86130.73670.6562
CatBoost (CAT)0.87260.85540.86390.72760.9038
PyCaret (CatBoost (CAT))0.79360.85040.82100.80830.8295
H2O.ai (Generalized Linear Modeling (GLM))0.81390.85500.83390.82510.8084
Proposed Model (Group 5-CSS Type 2)
(Stacking: 1st layer: LGBM, DT, SGD, Meta: LR)
0.93300.93070.93180.82690.9121
AverageLogistic Regression (LR)0.83290.72640.77580.80140.8148
XGBoost (XGB)0.82250.82830.82520.56680.8227
PyCaret0.80240.83240.81700.68890.7971
H2O.ai0.81120.84580.82810.69030.7775
Average of 14 Single Classifiers0.81270.75010.77050.61010.7627
Average of 2 AutoML Approaches0.80680.83910.82260.68960.7873
Average of All Single Classifiers and AutoML0.81200.76120.77700.62000.7658
Proposed Model (CSS Type 2)0.87170.87420.87290.71960.8326
Table A3. Detailed performance results of Type 3 severity for Groups 1–5.
Table A3. Detailed performance results of Type 3 severity for Groups 1–5.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
Group 1Logistic Regression (LR)0.71720.56430.63160.68780.6396
Support Vector Machine 1 (SVM 1)0.71000.63550.67070.61710.6429
Support Vector Machine 2 (SVM 2)0.65930.48650.55990.55790.6078
Stochastic Gradient Descent (SGD)0.70910.56520.62900.67390.6322
K-Nearest Neighbor (KNN)0.66650.61610.64030.47750.5241
Multi-Layer Perceptron (MLP)0.71670.54400.61850.69720.6431
Gaussian Naïve Bayes (GNB)0.69680.63420.66400.58100.6371
Decision Tree (DT)0.67920.62320.65000.51620.5240
Extra Trees Classifier (ExTree)0.68030.61520.64610.51470.5269
XGBoost (XGB)0.67090.70500.68750.39130.6458
Light Gradient Boosting Machine (LGBM)0.68250.70980.69590.42390.6568
Random Forest (RF)0.67870.67310.67590.47090.6331
AdaBoost (ADA)0.67870.67310.67590.47090.5697
CatBoost (CAT)0.67670.69040.68350.44190.6422
PyCaret (Logistic Regression (LR))0.71090.75090.73040.65710.6461
H2O.ai (Stacking: 1st layer: 5 GBM, 1 GLM, 2 DRF, Meta: GLM)0.68490.79070.73400.47250.5425
Proposed Model (Group 1-CSS Type 3)
(Stacking: 1st layer: LGBM, GNB, 2nd layer: MLP, LR, Meta: LR)
0.71570.76910.74140.53330.6584
Group 2Logistic Regression (LR)0.72990.52630.61160.73530.6900
Support Vector Machine 1 (SVM 1)0.72640.56740.63710.70110.6913
Support Vector Machine 2 (SVM 2)0.61970.67310.64530.22710.6385
Stochastic Gradient Descent (SGD)0.72130.46440.56500.74210.6825
K-Nearest Neighbor (KNN)0.68620.64350.66420.49710.5649
Multi-Layer Perceptron (MLP)0.73290.52540.61200.73290.6859
Gaussian Naïve Bayes (GNB)0.72010.57980.64240.67790.6700
Decision Tree (DT)0.69190.63330.66130.54650.5428
Extra Trees Classifier (ExTree)0.66180.59130.62460.48340.5116
XGBoost (XGB)0.69570.72530.71020.43940.6972
Light Gradient Boosting Machine (LGBM)0.70130.73060.71570.45100.7096
Random Forest (RF)0.69820.72840.71300.46210.7042
AdaBoost (ADA)0.69820.72840.71300.46210.6159
CatBoost (CAT)0.69970.71910.70930.45520.7089
PyCaret (Gaussian Naïve Bayes (GNB))0.73280.77170.75170.69510.6897
H2O.ai (Stacking: 1st layer: 22 GBM, 1 GLM, 2 DRF, Meta: GLM)0.70010.76540.73130.49360.6975
Proposed Model (Group 2-CSS Type 3)
(Stacking: 1st layer: LGBM, RF, ADA, 2nd layer: MLP, LR, Meta: LR)
0.74200.77490.75810.58050.6914
Group 3Logistic Regression (LR)0.73860.53430.62510.74720.7017
Support Vector Machine 1 (SVM 1)0.73130.54580.63180.72640.7101
Support Vector Machine 2 (SVM 2)0.60780.65770.56390.20540.6346
Stochastic Gradient Descent (SGD)0.72430.46170.66220.75150.6781
K-Nearest Neighbor (KNN)0.67860.64660.62280.48420.5539
Multi-Layer Perceptron (MLP)0.71890.54930.10500.67780.6886
Gaussian Naïve Bayes (GNB)0.72840.05660.66920.85290.6083
Decision Tree (DT)0.69100.64880.64100.51590.5405
Extra Trees Classifier (ExTree)0.68270.60410.71580.53360.5423
XGBoost (XGB)0.70250.72970.72340.45120.7024
Light Gradient Boosting Machine (LGBM)0.71050.73680.72250.45490.7084
Random Forest (RF)0.71250.73280.72250.47540.7236
AdaBoost (ADA)0.71250.73280.71110.47540.5969
CatBoost (CAT)0.70120.72130.62010.45350.7112
PyCaret (Random Forest (RF))0.72310.78970.75490.49280.7128
H2O.ai (Generalized Linear Modeling (GLM))0.69540.78250.74080.70360.7367
Proposed Model (Group 3-CSS Type 3)
(Stacking: 1st layer: LGBM, RF, ADA, 2nd layer: MLP, LR, Meta: LR)
0.75660.78920.77260.59060.7355
Group 4Logistic Regression (LR)0.78990.62490.69780.84290.8122
Support Vector Machine 1 (SVM 1)0.78840.61340.69000.80380.8186
Support Vector Machine 2 (SVM 2)0.59160.73680.65630.14130.7181
Stochastic Gradient Descent (SGD)0.77660.62800.69440.78610.7685
K-Nearest Neighbor (KNN)0.73400.69660.71480.59330.6222
Multi-Layer Perceptron (MLP)0.78820.68510.73300.78160.8123
Gaussian Naïve Bayes (GNB)0.78720.10040.17810.81110.7191
Decision Tree (DT)0.76150.71740.73880.68040.6283
Extra Trees Classifier (ExTree)0.73080.65680.69180.63700.5978
XGBoost (XGB)0.79150.79480.79310.64500.8660
Light Gradient Boosting Machine (LGBM)0.79160.79170.79160.66070.8744
Random Forest (RF)0.79080.78900.78990.67800.8541
AdaBoost (ADA)0.79080.78900.78990.67800.6274
CatBoost (CAT)0.78300.78550.78420.65070.6274
PyCaret (Gaussian Naïve Bayes (GNB))0.73460.77750.75540.75580.7305
H2O.ai (Stacking: 1st layer: 22 GBM, 1 GLM, 2 DRF, Meta: GLM)0.69650.79660.74320.72140.7484
Proposed Model (Group 4-CSS Type 3)
(Stacking: 1st layer: LGBM, LR, 2nd layer: MLP, Meta: LR)
0.82390.86310.84300.76260.8995
Group 5Logistic Regression (LR)0.78870.62400.69670.82640.8079
Support Vector Machine 1 (SVM 1)0.79230.59750.68120.81830.8140
Support Vector Machine 2 (SVM 2)0.59170.73770.65670.14140.6941
Stochastic Gradient Descent (SGD)0.77610.61170.68420.79800.7692
K-Nearest Neighbor (KNN)0.72370.68460.70360.57560.6066
Multi-Layer Perceptron (MLP)0.77140.71290.74100.71370.8088
Gaussian Naïve Bayes (GNB)0.76780.38830.51580.81070.6786
Decision Tree (DT)0.76390.71470.73850.68150.6257
Extra Trees Classifier (ExTree)0.71100.64170.67460.57750.5797
XGBoost (XGB)0.78550.79560.79050.62720.8658
Light Gradient Boosting Machine (LGBM)0.78540.79250.78890.63630.8720
Random Forest (RF)0.77860.78900.78380.63910.8475
AdaBoost (ADA)0.77860.78900.78380.63910.6228
CatBoost (CAT)0.78200.78950.78570.64770.8603
PyCaret (CatBoost (CAT))0.72310.78830.75430.67820.7362
H2O.ai (Gradient Boosting Machine (GBM))0.70540.78950.74510.69260.7187
Proposed Model (Group 5-CSS Type 3)
(Stacking: 1st layer: LGBM, SVM2, 2nd layer: MLP, LR, Meta: LR)
0.85640.89520.87540.70680.8834
AverageLogistic Regression (LR)0.75290.57480.65260.76790.7303
XGBoost (XGB)0.72920.75010.74090.51080.7554
PyCaret0.72490.77560.74930.65580.7031
H2O.ai0.69650.78490.73890.61670.6888
Average of 14 Single Classifiers0.72200.64300.66940.59230.6791
Average of 2 AutoML Approaches0.71070.78030.74410.63630.6959
Average of All Single Classifiers and AutoML0.72060.66010.67870.59780.6812
Proposed Model (CSS Type 3)0.77890.81830.79810.63480.7736

Appendix B. Selected Features from Feature Selection Algorithm for All Groups

Table A4. Selected features from feature selection algorithm for all groups.
Table A4. Selected features from feature selection algorithm for all groups.
GroupsFeature SelectionSelected Feature (Clinical Variables)
Group 1None (9)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI
Forward Selection (5)AGE, PREG, BMI, HRI, TEMPI
Backward Elimination (5)AGE, PREGW, SBP, HRI, TEMPI
RFECV (5)AGE, BMI, SBP, HRI, TEMPI
Proposed Algorithm (5)AGE, BMI, SBP, HRI, TEMPI
Group 2None (21)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR
Forward Selection (6)AGE, TEMPI, SOB, COUGH, SPUTUM
Backward Section (18)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, SOB, HEADA, ACC
RFECV (16)AGE, SEX, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, MAM, SOB, HEADA, VN, DIARR
Proposed Algorithm (13)AGE, SEX, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, MAM, SOB, HEADA
Group 3None (32)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR, DM, HTN, HF, CCD, ASTHMA, COPD, CKD, MALIG, CLD, RDAD, DEMEN
Forward Selection (9)AGE, TEMPI, FEVER, FM, SOB, ACC, HTN, RDAD, DEMEN
Backward Elimination (28)AGE, SEX, PREG, PREGW, SBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, DIARR, DM, HTN, CCD, ASTHMA, COPD, CKD, MALIG, CLD, DEMEN
RFECV (26)AGE, SEX, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR, DM, HTN, CCD, ASTHMA, MALIG, DEMEN
Proposed Algorithm (22)AGE, SEX, SBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, DIARR, DM, HTN, CCD, ASTHMA, MALIG, DEMEN
Group 4None (26)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR, HGB, HCT, LYMPHO, PLT, WBC
Forward Selection (13)AGE, SEX, SBP, TEMPI, COUGH, MAM, SOB, ACC, HGB, HCT, LYMPHO, PLT, WBC
Backward Section (24)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR, HGB, HCT, LYMPHO, PLT, WBC
RFECV (15)AGE, SEX, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SOB, HGB, HCT, LYMPHO, PLT, WBC
Proposed Algorithm (16)AGE, SEX, BMI, SBP, DBP, TEMPI, FEVER, COUGH, MAM, SOB, ACC, HGB, HCT, LYMPHO, PLT, WBC
Group 5None (37)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR, DM, HTN, HF, CCD, ASTHMA, COPD, CKD, MALIG, CLD, RDAD, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
Forward Selection (13)AGE, TEMPI, ST, MAM, SOB, ACC, DM, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
Backward Elimination (32)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, DM, HTN, HF, ASTHMA, COPD, CKD, MALIG, RDAD, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
RFECV (22)AGE, SEX, BMI, TEMPI, FEVER, ST, SOB, HEADA, ACC, VN, DIARR, DM,
ASTHMA, COPD, MALIG, CLD, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
Proposed Algorithm (19)AGE, SEX, BMI, TEMPI, FEVER, ST, MAM, SOB, HEADA, ACC, DM, HTN, COPD, MALIG, DEMEN, HGB, HCT, LYMPHO, PLT, WBC

References

  1. Kang, E.; Lee, S.Y.; Jung, H.; Kim, M.S.; Cho, B.; Kim, Y.S. Operating protocols of a community treatment center for isolation of patients with coronavirus disease, South Korea. J. Emerg. Infect. Dis. 2020, 26, 2329–2337. [Google Scholar] [CrossRef]
  2. Hamidi, Z.; Jabraeili-Siahroud, S.; Taati-Alamdari, Y.; Aghbash, P.S.; Shamekh, A.; Baghi, H.B. A comprehensive review of COVID-19 symptoms and treatments in the context of autoimmune diseases. Virol. J. 2023, 20, 1. [Google Scholar] [CrossRef]
  3. WHO. Living Guidance for Clinical Management of COVID-19. 23 November 2021. Available online: https://www.who.int/publications/i/item/WHO-2019-nCoV-clinical-2021-2 (accessed on 14 November 2023).
  4. Rajaraman, S.; Siegelman, J.; Alderson, P.O.; Folio, L.S.; Folio, L.R.; Antani, S.K. Iteratively pruned deep learning ensembles for COVID-19 detection in chest X-rays. IEEE Access 2020, 8, 115041–115050. [Google Scholar] [CrossRef]
  5. Yao, H.; Zhang, N.; Zhang, R.; Duan, M.; Xie, T.; Pan, J.; Peng, E.; Huang, J.; Zhang, Y.; Xu, X.; et al. Severity detection for the coronavirus disease 2019 (COVID-19) patients using a machine learning model based on the blood and urine tests. Front. Cell Dev. Biol. 2020, 8, 683. [Google Scholar] [CrossRef]
  6. Brinati, D.; Campagner, A.; Ferrari, D.; Locatelli, M.; Banfi, G.; Cabitza, F. Detection of COVID-19 infection from routine blood exams with machine learning: A feasibility study. J. Med. Syst. 2020, 44, 135. [Google Scholar] [CrossRef] [PubMed]
  7. Izquierdo, J.L.; Ancochea, J.; Soriano, J.B.; Group, S.C.-R. Clinical characteristics and prognostic factors for intensive care unit admission of patients with COVID-19: Retrospective study using machine learning and natural language processing. J. Med. Internet Res. 2020, 22, e21801. [Google Scholar] [CrossRef] [PubMed]
  8. Jovanoski, N.; Chen, X.; Becker, U.; Zalocusky, K.; Chawla, D.; Tsai, L.; Borm, M.; Neighbors, M.; Yau, V. Severity of COVID-19 and adverse long-term outcomes: A retrospective cohort study based on a US electronic health record database. BMJ Open 2021, 11, e056284. [Google Scholar] [CrossRef]
  9. Aktar, S.; Ahamad, M.M.; Rashed-Al-Mahfuz, M.; Azad, A.; Uddin, S.; Kamal, A.; Alyami, S.A.; Lin, P.I.; Islam, S.M.S.; Quinn, J.M.; et al. Machine learning approach to predicting COVID-19 disease severity based on clinical blood test data: Statistical analysis and model development. JMIR Med. Inform. 2021, 9, e25884. [Google Scholar] [CrossRef] [PubMed]
  10. Lassau, N.; Ammari, S.; Chouzenoux, E.; Gortais, H.; Herent, P.; Devilder, M.; Soliman, S.; Meyrignac, O.; Talabard, M.P.; Lamarque, J.P.; et al. Integrating deep learning CT-scan model, biological and clinical variables to predict severity of COVID-19 patients. Nat. Commun. 2021, 12, 634. [Google Scholar] [CrossRef]
  11. Li, K.; Liu, X.; Yip, R.; Yankelevitz, D.F.; Henschke, C.I.; Geng, Y.; Fang, Y.; Li, W.; Pan, C.; Chen, X.; et al. Early prediction of severity in coronavirus disease (COVID-19) using quantitative CT imaging. Clin. Imaging 2021, 78, 223–229. [Google Scholar] [CrossRef]
  12. Kremer, S.; Lersy, F.; de Sèze, J.; Ferré, J.C.; Maamar, A.; Carsin-Nicol, B.; Collange, O.; Bonneville, F.; Adam, G.; Martin-Blondel, G.; et al. Brain MRI findings in severe COVID-19: A retrospective observational study. Radiology 2020, 297, 242–251. [Google Scholar] [CrossRef]
  13. An, C.; Oh, H.C.; Chang, J.H.; Oh, S.-J.; Lee, J.M.; Han, C.H.; Kim, S.W. Development and validation of a prognostic model for early triage of patients diagnosed with COVID-19. Sci. Rep. 2021, 11, 21923. [Google Scholar] [CrossRef]
  14. An, C.; Lim, H.; Kim, D.W.; Chang, J.H.; Choi, Y.J.; Kim, S.W. Machine learning prediction for mortality of patients diagnosed with COVID-19: A nationwide Korean cohort study. Sci. Rep. 2020, 10, 18716. [Google Scholar] [CrossRef]
  15. Bean, J.; Kuri-Cervantes, L.; Pennella, M.; Betts, M.R.; Meyer, N.J.; Hassan, W.M. Multivariate indicators of disease severity in COVID-19. Sci. Rep. 2023, 13, 5145. [Google Scholar] [CrossRef]
  16. Tahsin, L.; Roy, S. Prediction of COVID-19 severity level using the XGBoost algorithm: A machine learning approach based on the SIR epidemiological model. In Proceedings of the Intelligent Systems and Sustainable Computing (ICISSC) 2021, Hyderabad, India, 24–25 September 2021; pp. 1–8. [Google Scholar]
  17. Moulaei, K.; Shanbehzadeh, M.; Mohammadi-Taghiabad, Z.; Kazemi-Arpanahi, H. Comparing machine learning algorithms for predicting COVID-19 mortality. BMC Med. Inform. Decis. Mak. 2022, 22, 2. [Google Scholar] [CrossRef]
  18. Barough, S.S.; Safavi-Naini, S.A.A.; Siavoshi, F.; Tamimi, A.; Ilkhani, S.; Akbari, S.; Ezzati, S.; Hatamabadi, H.; Pourhoseingholi, M.A. Generalizable machine learning approach for COVID-19 mortality risk prediction using on-admission clinical and laboratory features. Sci. Rep. 2023, 13, 2399. [Google Scholar] [CrossRef] [PubMed]
  19. Banoei, M.M.; Dinparastisaleh, R.; Zadeh, A.V.; Mirsaeidi, M. Machine-learning-based COVID-19 mortality prediction model and identification of patients at low and high risk of dying. Crit. Care 2021, 25, 328. [Google Scholar] [CrossRef] [PubMed]
  20. Yan, L.; Zhang, H.T.; Goncalves, J.; Xiao, Y.; Wang, M.; Guo, Y.; Sun, C.; Tang, X.; Jing, L.; Zhang, M. An interpretable mortality prediction model for COVID-19 patients. Nat. Mach. Intell. 2020, 2, 283–288. [Google Scholar] [CrossRef]
  21. Shang, W.; Dong, J.; Ren, Y.; Tian, M.; Li, W.; Hu, J.; Li, Y. The value of clinical parameters in predicting the severity of COVID-19. J. Med. Virol. 2020, 92, 2188–2192. [Google Scholar] [CrossRef]
  22. Zhang, J.; Wang, X.; Jia, X.; Li, J.; Hu, K.; Chen, G.; Wei, J.; Gong, Z.; Zhou, C.; Yu, H.; et al. Risk factors for disease severity, unimprovement, and mortality in COVID-19 patients in Wuhan, China. Clin. Microbiol. Infect. 2020, 26, 767–772. [Google Scholar] [CrossRef]
  23. Jee, Y.; Kim, Y.-J.; Oh, J.; Kim, Y.-J.; Ha, E.-H.; Jo, I. A COVID-19 mortality prediction model for Korean patients using the nationwide Korean Disease Control and Prevention Agency database. Sci. Rep. 2022, 12, 3311. [Google Scholar] [CrossRef] [PubMed]
  24. Liang, W.; Yao, J.; Chen, A.; Lv, Q.; Zanin, M.; Liu, J.; Wong, S.; Li, Y.; Lu, J.; Liang, H.; et al. Early triage of critically ill COVID-19 patients using deep learning. Nat. Commun. 2021, 11, 3543. [Google Scholar] [CrossRef]
  25. Jin, C.; Chen, W.; Cao, Y.; Xu, Z.; Tan, Z.; Zhang, X.; Deng, L.; Zheng, C.; Zhou, J.; Shi, H.; et al. Development and evaluation of an artificial intelligence system for COVID-19 diagnosis. Nat. Commun. 2020, 11, 5088. [Google Scholar] [CrossRef] [PubMed]
  26. Xu, Q.; Zhan, X.; Zhou, Z.; Li, Y.; Xie, P.; Zhang, S.; Li, X.; Yu, Y.; Zhou, C.; Zhang, L.; et al. AI-based analysis of CT images for rapid triage of COVID-19 patients. NPJ Digit. Med. 2021, 4, 75. [Google Scholar] [CrossRef]
  27. Al Rahhal, M.M.; Bazi, Y.; Jomaa, R.M.; AlShibli, A.; Alajlan, N.; Mekhalfi, M.L.; Melgani, F. COVID-19 detection in CT/X-ray imagery using Vision Transformers. J. Pers. Med. 2022, 12, 310. [Google Scholar] [CrossRef] [PubMed]
  28. Guan, W.-J.; Ni, Z.-Y.; Hu, Y.; Liang, W.-H.; Ou, C.-Q.; He, J.-X.; Liu, L.; Shan, H.; Lei, C.-L.; Hui, D.S. Clinical characteristics of coronavirus disease 2019 in China. N. Engl. J. Med. 2020, 382, 1708–1720. [Google Scholar] [CrossRef]
  29. Wungu, C.D.K.; Khaerunnisa, S.; Putri, E.A.C.; Hidayati, H.B.; Qurnianingsih, E.; Lukitasari, L.; Humairah, I.; Soetjipto. Meta-analysis of cardiac markers for predictive factors on severity and mortality of COVID-19. Int. J. Infect. Dis. 2021, 105, 551–559. [Google Scholar] [CrossRef]
  30. Bayat, V.; Phelps, S.; Ryono, R.; Lee, C.; Parekh, H.; Mewton, J.; Sedghi, F.; Etminani, P.; Holodniy, M. A severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2) prediction model from standard laboratory tests. Clin. Infect. Dis. 2021, 73, 2901–2907. [Google Scholar] [CrossRef]
  31. Fan, X.-R.; Zuo, J.; He, W.-T.; Liu, W. Stacking based prediction of COVID-19 Pandemic by integrating infectious disease dynamics model and traditional machine learning. In Proceedings of the 2022 5th International Conference on Big Data and Internet of Things (BDIOT ’22), Chongqing, China, 12–14 August 2022; Association for Computing Machinery: New York, NY, USA, 2022; pp. 20–26. [Google Scholar]
  32. Gupta, A.; Jain, V.; Singh, A. Stacking Ensemble-Based Intelligent Machine Learning Model for Predicting Post-COVID-19 Complications. New Gener. Comput. 2021, 40, 987–1007. [Google Scholar] [CrossRef]
  33. Shakhovska, N.; Yakovyna, V.; Chopyak, V. A new hybrid ensemble machine-learning model for severity risk assessment and post-COVID prediction system. Math. Biosci. Eng. 2022, 19, 6102–6123. [Google Scholar] [CrossRef]
  34. Rahman, T.; Chowdhury, M.E.; Khandakar, A.; Mahbub, Z.B.; Hossain, M.S.A.; Alhatou, A.; Abdalla, E.; Muthiyal, S.; Islam, K.F.; Kashem, S.B.A.; et al. BIO-CXRNET: A robust multimodal stacking machine learning technique for mortality risk prediction of COVID-19 patients using chest X-ray images and clinical data. Neural Comput. Appl. 2023, 35, 17461–17483. [Google Scholar] [CrossRef] [PubMed]
  35. De Paiva, B.B.; Pereira, P.D.; de Andrade, C.M.; Gomes, V.M.; Souza-Silva, M.V.; Martins, K.P.; Sales, T.L.; de Carvalho, R.L.; Pires, M.C.; Ramos, L.E.; et al. Potential and limitations of machine meta-learning (ensemble) methods for predicting COVID-19 mortality in a large inhospital Brazilian dataset. Sci. Rep. 2023, 13, 3463. [Google Scholar] [CrossRef] [PubMed]
  36. Abayomi-Alli, O.O.; Damaševičius, R.; Maskeliūnas, R.; Misra, S. An ensemble learning model for COVID-19 detection from blood test samples. Sensors 2022, 22, 2224. [Google Scholar] [CrossRef] [PubMed]
  37. Kablan, R.; Miller, H.A.; Suliman, S.; Frieboes, H.B. Evaluation of stacked ensemble model performance to predict clinical outcomes: A COVID-19 study. Int. J. Med. Inf. 2023, 175, 105090. [Google Scholar] [CrossRef] [PubMed]
  38. Ikemura, K.; Bellin, E.; Yagi, Y.; Billett, H.; Saada, M.; Simone, K.; Stahl, L.; Szymanski, J.; Goldstein, D.Y.; Gil, M.R. Using automated machine learning to predict the mortality of patients with COVID-19: Prediction model development study. J. Med. Internet Res. 2021, 23, e23458. [Google Scholar] [CrossRef] [PubMed]
  39. De Holanda, W.D.; E Silva, L.C.; de Carvalho César Sobrinho, Á.A. Machine learning models for predicting hospitalization and mortality risks of COVID-19 patients. Expert Syst. Appl. 2024, 240, 122670. [Google Scholar] [CrossRef]
  40. López-Úbeda, P.; Díaz-Galiano, M.C.; Martín-Noguerol, T.; Luna, A.; Ureña-López, L.A.; Martín-Valdivia, M.T. COVID-19 detection in radiological text reports integrating entity recognition. Comput. Biol. Med. 2020, 127, 104066. [Google Scholar] [CrossRef]
  41. Mermin-Bunnell, K.; Zhu, Y.; Hornback, A.; Damhorst, G.; Walker, T.; Robichaux, C.; Mathew, L.; Jaquemet, N.; Peters, K.; Johnson, T.M., 2nd; et al. Use of natural language processing of patient-initiated electronic health record messages to identify patients with COVID-19 infection. JAMA Netw. Open 2023, 6, e2322299. [Google Scholar] [CrossRef]
  42. Guo, M.; Ma, Y.; Eworuke, E.; Khashei, M.; Song, J.; Zhao, Y.; Jin, F. Identifying COVID-19 cases and extracting patient reported symptoms from Reddit using natural language processing. Sci. Rep. 2023, 13, 13721. [Google Scholar] [CrossRef]
  43. Kim, G.-W.; Lee, D.-H. Personalised health document summarisation exploiting Unified Medical Language System and topic-based clustering for mobile healthcare. J. Inf. Sci. 2018, 44, 619–643. [Google Scholar] [CrossRef]
  44. Kim, G.-W.; Lee, D.-H. Intelligent health diagnosis technique exploiting automatic ontology generation and web-based personal health record services. IEEE Access 2019, 7, 9419–9444. [Google Scholar] [CrossRef]
  45. Chen, C.W.; Tsai, Y.H.; Chang, F.R.; Lin, W.C. Ensemble feature selection in medical datasets: Combining filter, wrapper, and embedded feature selection results. Expert Syst. 2020, 37, e12553. [Google Scholar] [CrossRef]
  46. El-Rashidy, N.; El-Sappagh, S.; Abuhmed, T.; Abdelrazek, S.M.; El-Bakry, H.M. Intensive care unit mortality prediction: An improved patient-specific stacking ensemble model. IEEE Access 2020, 8, 133541–133564. [Google Scholar] [CrossRef]
  47. Abdellatif, A.; Abdellatef, H.; Kanesan, J.; Chow, C.-O.; Chuah, J.H.; Gheni, H.M. An effective heart disease detection and severity level classification model using machine learning and hyperparameter optimization methods. IEEE Access 2022, 10, 79974–79985. [Google Scholar] [CrossRef]
  48. Khushi, M.; Shaukat, K.; Alam, T.M.; Hameed, I.A.; Uddin, S.; Luo, S.; Yang, X.; Reyes, M.C. A comparative performance analysis of data resampling methods on imbalance medical data. IEEE Access 2021, 9, 109960–109975. [Google Scholar] [CrossRef]
  49. Heo, J.; Han, D.; Kim, H.-J.; Kim, D.; Lee, Y.-K.; Lim, D.; Hong, S.O.; Park, M.-J.; Ha, B.; Seog, W. Prediction of patients requiring intensive care for COVID-19: Development and validation of an integer-based score using data from Centers for Disease Control and Prevention of South Korea. J. Intensive Care 2021, 9, 16. [Google Scholar] [CrossRef]
  50. Kim, J.; Lim, H.; Ahn, J.-H.; Lee, K.H.; Lee, K.S.; Koo, K.C. Optimal triage for COVID-19 patients under limited health care resources with a parsimonious machine learning prediction model and threshold optimization using discrete-event simulation: Development study. JMIR Med. Inform. 2021, 9, e32726. [Google Scholar] [CrossRef]
  51. Ali, M. PyCaret: An Open Source, Low-Code Machine Learning Library in Python. 2020. Available online: https://pycaret.readthedocs.io/en/latest/index.html (accessed on 18 February 2024).
  52. LeDell, E.; Poirier, S. H2O AutoML: Scalable Automatic Machine Learning. In Proceedings of the AutoML Workshop at ICML, Vienna, Austria, 17–18 July 2020; Volume 2020. [Google Scholar]
Figure 1. Overview of the proposed technique.
Figure 1. Overview of the proposed technique.
Applsci 14 02715 g001
Figure 2. Imputed distribution of KNN for blood test results.
Figure 2. Imputed distribution of KNN for blood test results.
Applsci 14 02715 g002
Figure 3. Description of data-driven strategy.
Figure 3. Description of data-driven strategy.
Applsci 14 02715 g003
Figure 4. Results of selected feature importance according to the data-driven strategy.
Figure 4. Results of selected feature importance according to the data-driven strategy.
Applsci 14 02715 g004
Figure 5. Ensemble techniques for bagging, boosting, and stacking.
Figure 5. Ensemble techniques for bagging, boosting, and stacking.
Applsci 14 02715 g005
Figure 6. Model construction process of the proposed adaptive stacking ensemble technique.
Figure 6. Model construction process of the proposed adaptive stacking ensemble technique.
Applsci 14 02715 g006
Figure 7. Optimal combinations of base classifiers in the adaptive stacking ensemble models for CSS Type 1.
Figure 7. Optimal combinations of base classifiers in the adaptive stacking ensemble models for CSS Type 1.
Applsci 14 02715 g007
Figure 8. Optimal combinations of base classifiers in the adaptive stacking ensemble models for CSS Type 2.
Figure 8. Optimal combinations of base classifiers in the adaptive stacking ensemble models for CSS Type 2.
Applsci 14 02715 g008
Figure 9. Optimal combinations of base classifiers in the adaptive stacking ensemble models for CSS Type 3.
Figure 9. Optimal combinations of base classifiers in the adaptive stacking ensemble models for CSS Type 3.
Applsci 14 02715 g009
Figure 10. Performance comparison of Logistic Regression, XGBoost, PyCaret, H2O.ai, and our proposed model.
Figure 10. Performance comparison of Logistic Regression, XGBoost, PyCaret, H2O.ai, and our proposed model.
Applsci 14 02715 g010
Figure 11. Comparison of performances before and after applying oversampling.
Figure 11. Comparison of performances before and after applying oversampling.
Applsci 14 02715 g011
Figure 12. Average F1 and AUC scores of the feature selection algorithm across Groups 1–5 for Type 1.
Figure 12. Average F1 and AUC scores of the feature selection algorithm across Groups 1–5 for Type 1.
Applsci 14 02715 g012
Figure 13. Average F1 and AUC scores for feature selection algorithm across groups 1–5 for Type 2.
Figure 13. Average F1 and AUC scores for feature selection algorithm across groups 1–5 for Type 2.
Applsci 14 02715 g013
Figure 14. Average F1 and AUC scores for feature selection algorithm across groups 1–5 for Type 3.
Figure 14. Average F1 and AUC scores for feature selection algorithm across groups 1–5 for Type 3.
Applsci 14 02715 g014
Table 1. Clinical variables of COVID-19 patient dataset.
Table 1. Clinical variables of COVID-19 patient dataset.
Clinical VariablesTypeComponentsPatient (n = 5644)Missing Values
Patient Demographics
AGE
(Years)
9 categories
(1)
0–9 years
(2)
10–19 years
(3)
20–29 years
(4)
30–39 years
(5)
40–49 years
(6)
50–59 years
(7)
60–69 years
(8)
70–79 years
(9)
Over 80 years
66 (1.17%)
205 (3.63%)
1110 (19.67%)
566 (10.03%)
740 (13.11%)
1149 (20.36%)
920 (16.30%)
554 (9.82%)
334 (5.92%)
0 (0%)
SEX
(Gender)
2 categories
(1)
Male
(2)
Female
2333 (41.34%)
3311 (58.66%)

0 (0%)
PREG
(Pregnancy)
2 categories
(1)
Yes
(2)
No
19 (0.34%)
3276 (58.04%)

2349 (41.62%)
PREGW
(Pregnancy Week)
5 categories
(1)
0 weeks
(2)
1–9 weeks
(3)
10–19 weeks
(4)
20–29 weeks
(5)
Over 30 weeks
50 (0.89%)
26 (0.46%)
8 (0.14%)
4 (0.07%)
2 (0.04%)
5554 (98.41%)
BMI
(Body Mass Index)
4 categories
(1)
Less than 18.5 (underweight)
(2)
18.5–24.9 (normal)
(3)
25.0–29.9 (overweight)
(4)
Greater than 30 (obese)
260 (4.61%)
2919 (51.72%)
1061 (18.80%)
210 (3.72%)
1194 (21.16%)
Vital Signs
SBP
(Systolic Blood Pressure)
5 categories
(1)
Less than 120
(2)
120–129
(3)
130–139
(4)
140–159
(5)
Greater than 160
1317 (23.33%)
1145 (20.29%)
1092 (19.35%)
1433 (25.39%)
522 (9.25%)
135 (2.39%)
DBP
(Diastolic Blood Pressure)
5 categories
(1)
Less than 80
(2)
80–89
(3)
90–99
(4)
Greater than 100
2131 (37.76%)
1808 (32.03%)
1061 (18.80%)
509 (9.02%)
135 (2.39%)
HRI
(Heart Rate)
Numeric
(1)
Less than 60 (bradycardia)
(2)
120–129 (normal)
(3)
130–139 (tachycardia)
167 (2.96%)
4521 (80.10%)
834 (14.78%)
122 (2.16%)
TEMPI
(Temperature)
Numeric
(1)
Less than 37.5 °C
(2)
37.5–37.9 °C
(3)
38–38.4 °C
(4)
Greater than 38.4 °C
4925 (87.26%)
471 (8.35%)
137 (2.43%)
74 (1.31%)
37 (0.66%)
Symptoms
FEVER2 categories
(1)
Yes
(2)
No
1339 (23.72%)
4301 (76.20%)

4 (0.07%)
COUGH2 categories
(1)
Yes
(2)
No
2354 (41.71%)
3286 (58.22%)

4 (0.07%)
SPUTUM2 categories
(1)
Yes
(2)
No
1629 (28.86%)
4011 (71.07%)

4 (0.07%)
ST
(Sore Throat)
2 categories
(1)
Yes
(2)
No
879 (15.57%)
4761 (84.36%)

4 (0.07%)
RNR
(Runny Nose)
2 categories
(1)
Yes
(2)
No
618 (10.95%)
5022 (88.98%)

4 (0.07%)
MAM
(Muscle Aches)
2 categories
(1)
Yes
(2)
No
923 (16.35%)
4717 (83.58%)

4 (0.07%)
FM
(Fatigue)
2 categories
(1)
Yes
(2)
No
242 (4.29%)
5398 (95.64%)

4 (0.07%)
SOB
(Shortness of Breath)
2 categories
(1)
Yes
(2)
No
700 (12.40%)
4940 (87.53%)

4 (0.07%)
HEADA
(Headache)
2 categories
(1)
Yes
(2)
No
964 (17.08%)
4676 (82.85%)

4 (0.07%)
Symptoms
ACC
(Altered Consciousness)
2 categories
(1)
Yes
(2)
No
33 (0.58%)
5607 (99.34%)

4 (0.07%)
VN
(Vomiting)
2 categories
(1)
Yes
(2)
No
245 (4.34%)
5395 (95.59%)

4 (0.07%)
DIARR
(Diarrhea)
2 categories
(1)
Yes
(2)
No
521 (9.23%)
5119 (90.70%)

4 (0.07%)
Underlying Diseases
DM
(Diabetes Mellitus)
2 categories
(1)
Yes
(2)
No
701 (12.42%)
4940 (87.53%)

3 (0.05%)
HTN
(Hypertension)
2 categories
(1)
Yes
(2)
No
1219 (21.60%)
4422 (78.35%)

3 (0.05%)
HF
(Heart Failure)
2 categories
(1)
Yes
(2)
No
59 (1.05%)
5581 (98.88%)

4 (0.07%)
CCD
(Chronic Cardiac Disease)
2 categories
(1)
Yes
(2)
No
184 (3.26%)
5441 (96.40%)

19 (0.34%)
ASTHMA2 categories
(1)
Yes
(2)
No
130 (2.30%)
5511 (97.64%)

3 (0.05%)
COPD
(Chronic Obstructive
Pulmonary Disease)
2 categories
(1)
Yes
(2)
No
41 (0.73%)
5600 (99.22%)

3 (0.05%)
CKD
(Chronic Kidney Disease)
2 categories
(1)
Yes
(2)
No
56 (0.99%)
5585 (98.85%)

3 (0.05%)
MALIG
(Malignant Cancer)
2 categories
(1)
Yes
(2)
No
146 (2.59%)
5494 (97.34%)

4 (0.07%)
CLD
(Chronic Liver Disease)
2 categories
(1)
Yes
(2)
No
82 (1.45%)
5236 (92.77%)

326 (5.78%)
RDAD
(Rheumatism or
Autoimmune Disease)
2 categories
(1)
Yes
(2)
No
38 (0.67%)
5274 (94.12%)

332 (5.88%)
DEMEN
(Dementia)
2 categories
(1)
Yes
(2)
No
227 (4.02%)
5088 (90.15%)

329 (5.83%)
Blood Test Results
HGB
(Hemoglobin)
Numeric
(1)
Less than 11 (anemia)
(2)
11–16 (normal)
(3)
Greater than 16 (elevated)
1504 (18.67%)
2970 (52.62%)
101 (1.79%)
1519 (26.91%)
HCT
(Hematocrit)
Numeric
(1)
Less than 41 (anemia)
(2)
41–45 (normal)
(3)
Greater than 45 (elevated)
1317 (24.29%)
2553 (45.23%)
196 (3.47%)
1524 (27.00%)
LYMPHO
(Lymphocytes)
Numeric
(1)
Less than 20 (lymphocytopenia)
(2)
20–40 (normal)
(3)
Greater than 40 (lymphocytosis)
934 (16.55%)
2487 (44.06%)
681 (12.07%)
1542 (27.32%)
PLT
(Platelets)
Numeric
(1)
Less than 150,000 (thrombocytopenia)
(2)
150,000–450,000 (normal)
(3)
Greater than 450,000 (thrombocytosis)
524 (9.28%)
3530 (62.54%)
73 (1.29%)
1517 (26.88%)
WBC
(White Blood Cells)
Numeric
(1)
Less than 4000 (leukocytopenia)
(2)
4000–11,000 (normal)
(3)
Greater than 11,000 (leukocytosis)
706 (12.51%)
3244 (57.48%)
177 (3.14%)
1517 (26.88%)
Table 2. Description of clinical severity score (CSS).
Table 2. Description of clinical severity score (CSS).
Severity ClassOriginal CSS (n = 5644)Type 1
(2 Classes)
Type 2
(3 Classes)
Type 3
(5 Classes)
1No limitation of activity (4456, 78.95%)Low Severity
(5312, 94.12%)
Mild
(4791, 84.89%)
Asymptomatic
(4456, 78.95%)
2Limited activity but no oxygen supply required (335, 5.94%)Mild
(335, 5.94%)
3Oxygen supply with nasal prong required (478, 8.47%)Severe
(599, 10.61%)
Moderate
(521, 9.23%)
4Oxygen supply with facial mask required (43, 0.76%)
5Non-invasive mechanical ventilation (36, 0.64%)High Severity
(332, 5.88%)
Severe
(91, 1.61%)
6Invasive mechanical ventilation (42, 0.74%)
7Multi-organ failure or ECMO (13, 0.23%)Critical
(254, 4.50%)
8Death (241, 4.27%)Fatal
(241, 4.27%)
Table 3. Oversampling ratio of Clinical Severity Score (CSS).
Table 3. Oversampling ratio of Clinical Severity Score (CSS).
Severity ClassBefore Oversampling (n = 3956)After Oversampling (n = 5585)
Type 1Low-Severity3723 (94.12%)3723 (66.66%)
High-Severity233 (5.88%)1862 (33.34%)
Type 2Mild3358 (84.89%)3358 (60.13%)
Severe420 (10.61%)1500 (25.87%)
Critical178 (4.50%)782 (14.00%)
Type 3Asymptomatic3123 (78.95%)3123 (55.92%)
Mild235 (5.94%)635 (11.37%)
Moderate365 (9.23%)765 (13.70%)
Severe64 (1.61%)493 (8.83%)
Fatal169 (4.27%)569 (10.19%)
Table 4. Candidate base classifiers and hyperparameter settings.
Table 4. Candidate base classifiers and hyperparameter settings.
TypeClassifier NameParameter Setting
LinearLogistic Regression (LR)C: 0.01, solver: newton-cg, Max_iter: 1000, Penalty: l2
Support Vector Machine 1 (SVM 1)Kernel: Linear, C: 0.025
Stochastic Gradient Descent (SGD)Penalty: l2, Max_iter: 1000
Non-linearSupport Vector Machine 2 (SVM2)Kernel: RBF, Gamma: 2, C: 1
Multi-Layer Perceptron (MLP)N_layers: 5 (including input, 3 FC hidden, and output layers)
Hidden_layer_size: (100), alpha: 1.0, Max_iter: 1000
Distance-basedK-Nearest Neighbor (KNN)N_neighbors: 2, weight: distance
ProbabilisticGaussian Naïve Bayes (GNB)Var_smoothing: 1 × 10−9
Tree-basedExtra Trees Classifier (ExTree)Criterion: entropy, Max_depth: 20,
Min_sample_split: 2
Decision Tree (DT)Criterion: entropy, Max_depth: 20,
Min_sample_split: 2
EnsembleXGBoost (XGB)N_estimators: 340, Max_depth: 2,
Learning_rate: 0.0628, Gamma: 1.17
Light Gradient Boosting Machine (LGBM)N_estimators: 440, Max_depth: 10,
Learning_rate: 0.0496, Max_depth: 6
AdaBoost (ADA)N_estimators: 320, Learning_rate: 0.0726
Random Forest (RF)N_estimators: 600, Max_depth: 8,
N_jobs: -1, Min_sample_split: 2
CatBoost (CAT)Learning_rate: 0.7462
Table 5. Average performance results of Type 1 severity for all groups.
Table 5. Average performance results of Type 1 severity for all groups.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
AverageLogistic Regression (LR)0.94260.83250.88320.83020.9203
XGBoost (XGB)0.92220.90480.91340.67000.8802
PyCaret0.91400.90640.91010.67850.8655
H2O.ai0.93540.89540.91480.81650.8423
Average of All Single Classifiers and AutoML0.91780.87370.89460.67760.8494
Proposed Model (CSS Type 1)0.95820.95950.95880.76340.9380
Table 6. Summary of performance results of Type 1 severity for groups 1–5.
Table 6. Summary of performance results of Type 1 severity for groups 1–5.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
Group 1Logistic Regression (LR)0.94160.77400.84960.76040.8989
XGBoost (XGB)0.88830.87350.88080.46440.8007
Light Gradient Boosting Machine (LGBM)0.89320.87700.88500.50590.8105
PyCaret (CatBoost (CAT))0.91880.89970.90910.60920.7849
H2O.ai (Gradient Boosting Machine (GBM))0.93470.91010.92230.72780.8406
Proposed Model (Group 1-CSS Type 1)
(Stacking: 1st layer: LGBM, 2nd layer: XGB, MLP, Meta: LR)
0.92620.93010.92810.60260.8722
Group 2Logistic Regression (LR)0.94790.79390.86410.81680.9327
XGBoost (XGB)0.90400.88760.89570.58230.8495
CatBoost (CAT)0.90840.88470.89740.57590.8645
PyCaret (Random Forest (RF))0.89930.89330.89630.54230.8462
H2O.ai (Stacking: 1st layer: 1 GBM, 1 GLM, 2 DRF, Meta: GLM)0.93540.85920.89570.80960.8410
Proposed Model (Group 2-CSS Type 1)
(Stacking: 1st layer: CAT, 2nd layer: CAT, LR, Meta: LR)
0.94070.94210.94140.72140.9098
Group 3Logistic Regression (LR)0.94970.81290.87600.81800.8880
XGBoost (XGB)0.90540.89160.89840.56190.8578
AdaBoost (ADA)0.90980.89720.90350.55540.8777
PyCaret (CatBoost (CAT))0.90320.90750.90530.52370.8532
H2O.ai (Gradient Boosting Machine (GBM))0.93580.87600.90490.80850.8426
Proposed Model (Group 3-CSS Type 1)
(Stacking: 1st layer: LGBM, CAT, RF, 2nd layer: LGBM, GNB, Meta: LR)
0.94710.94740.94720.65260.9129
Group 4Logistic Regression (LR)0.93630.88500.90990.89140.9412
XGBoost (XGB)0.95730.93630.94670.87410.9469
CatBoost (CAT)0.95750.93630.94680.87410.9479
PyCaret (Logistic Regression (LR))0.93130.89970.91520.88520.9410
H2O.ai (Stacking: 1st layer: 1 GBM, 1 GLM, 2 DRF, Meta: GLM)0.93570.91360.92450.86850.8439
Proposed Model (Group 4-CSS Type 1)
(Stacking: 1st layer: RF, 2nd layer: RF, LR, Meta: LR)
0.98710.98720.98710.89590.9774
Group 5Logistic Regression (LR)0.93760.89650.91660.86460.9407
XGBoost (XGB)0.95610.93500.94540.86710.9460
Random Forest (RF)0.95880.93890.94870.83290.9467
PyCaret (CatBoost (CAT))0.91760.93180.92460.83210.9024
H2O.ai (Stacking: 1st layer: 1 GBM, 1 GLM, 2 DRF, Meta: GLM)0.93550.91800.92670.86790.8433
Proposed Model (Group 5-CSS Type 1)
(Stacking: 1st layer: RF, MLP, SGD 2nd layer: RF, SGD, Meta: LR)
0.99010.99080.99040.94430.9877
Table 7. Average performance results of Type 2 severity for all groups.
Table 7. Average performance results of Type 2 severity for all groups.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
AverageLogistic Regression (LR)0.82390.72640.77580.80140.8148
XGBoost (XGB)0.82250.82830.82520.56680.8227
PyCaret0.80240.83240.81700.68890.7971
H2O.ai0.81120.84580.82810.69030.7775
Average of All Single Classifiers and AutoML0.81200.76120.77700.62000.7658
Proposed Model (CSS Type 2)0.87170.87240.87200.69300.8198
Table 8. Summary of performance results of Type 2 severity for Groups 1–5.
Table 8. Summary of performance results of Type 2 severity for Groups 1–5.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
Group 1Logistic Regression (LR)0.80600.71860.75980.76700.7632
XGBoost (XGB)0.76900.82430.79570.44680.7470
Light Gradient Boosting Machine (LGBM)0.77830.81620.79680.50670.7569
PyCaret (AdaBoost (ADA))0.79710.82260.80960.59540.7299
H2O.ai (Generalized Linear Modeling (GLM))0.80470.81500.80980.60210.7511
Proposed Model (Group 1-CSS Type 2)
(Stacking: 1st layer: LGBM, ADA, 2nd layer: RF, GNB, SVM2 Meta: LR)
0.81190.82040.81610.53400.7522
Group 2Logistic Regression (LR)0.81720.69520.75130.75610.7852
XGBoost (XGB)0.79380.79870.79620.46340.7736
Random Forest (RF)0.79030.79790.79410.45620.7913
PyCaret (AdaBoost (ADA))0.80580.82120.81340.60720.7996
H2O.ai (Generalized Linear Modeling (GLM))0.81160.85320.83180.61020.7629
Proposed Model (Group 2-CSS Type 2)
(Stacking: 1st layer: RF, Meta: LR)
0.83030.84800.83910.61050.7769
Group 3Logistic Regression (LR)0.82130.68150.74490.77010.7886
XGBoost (XGB)0.80180.80450.80310.47830.7812
Light Gradient Boosting Machine (LGBM)0.80780.80670.80720.50040.7950
PyCaret (Logistic Regression (LR))0.80730.84280.82470.61420.8003
H2O.ai (Gradient Boosting Machine (GBM))0.80690.84670.82630.61150.7721
Proposed Model (Group 3-CSS Type 2)
(Stacking: 1st layer: LGBM, SGD, Meta: LR)
0.86280.85500.85890.75850.8187
Group 4Logistic Regression (LR)0.85770.76650.80950.84530.8716
XGBoost (XGB)0.87140.85400.86260.72990.9057
Light Gradient Boosting Machine (LGBM)0.88340.86240.87280.76450.9126
PyCaret (Gaussian Naïve Bayes (GNB))0.80840.82480.81650.81930.8262
H2O.ai (Gradient Boosting Machine (GBM))0.81910.85900.83860.80250.7931
Proposed Model (Group 4-CSS Type 2)
(Stacking: 1st layer: LGBM, RF, Meta: LR)
0.92030.91690.91860.81930.9031
Group 5Logistic Regression (LR)0.86240.77000.81360.83310.8654
XGBoost (XGB)0.87670.85980.86820.71570.9062
Light Gradient Boosting Machine (LGBM)0.88070.86110.87080.74250.9115
PyCaret (CatBoost (CAT))0.79360.85040.82100.80830.8295
H2O.ai (Generalized Linear Modeling (GLM))0.81390.85500.83390.82510.8084
Proposed Model (Group 5-CSS Type 2)
(Stacking: 1st layer: LGBM, DT, SGD, Meta: LR)
0.93300.93070.93180.82690.9121
Table 9. Average performance results of Type 3 severity for all groups.
Table 9. Average performance results of Type 3 severity for all groups.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
AverageLogistic Regression (LR)0.75290.57480.65260.76790.7303
XGBoost (XGB)0.72920.75010.74090.51080.7554
PyCaret0.72490.77560.74930.65580.7031
H2O.ai0.69650.78490.73890.61670.6888
Average of All Single Classifiers and AutoML0.72060.66010.67870.59780.6812
Proposed Model (CSS Type 3)0.77890.81830.79810.63480.7736
Table 10. Summary of performance results of Type 3 severity for Groups 1–5.
Table 10. Summary of performance results of Type 3 severity for Groups 1–5.
GroupModelPrecisionRecallF1 ScoreSpecificityAUC
Group 1Logistic Regression (LR)0.71720.56430.63160.68780.6396
XGBoost (XGB)0.67090.70500.68750.39130.6458
Light Gradient Boosting Machine (LGBM)0.68250.70980.69590.42390.6568
PyCaret (Logistic Regression (LR))0.71090.75090.73040.65710.6461
H2O.ai (Stacking: 1st layer: 5 GBM, 1 GLM, 2 DRF, Meta: GLM)0.68490.79070.73400.47250.5425
Proposed Model (Group 1-CSS Type 3)(Stacking: 1st layer: LGBM, GNB, 2nd layer: MLP, LR, Meta: LR)0.71570.76910.74140.53330.6584
Group 2Logistic Regression (LR)0.72990.52630.61160.73530.6900
XGBoost (XGB)0.69570.72530.71020.43940.6972
Light Gradient Boosting Machine (LGBM)0.70130.73060.71570.45100.7096
PyCaret (Gaussian Naïve Bayes (GNB))0.73280.77170.75170.69510.6897
H2O.ai (Stacking: 1st layer: 22 GBM, 1 GLM, 2 DRF, Meta: GLM)0.70010.76540.73130.49360.6975
Proposed Model (Group 2-CSS Type 3)(Stacking: 1st layer: LGBM, RF, ADA, 2nd layer: MLP, LR, Meta: LR)0.74200.77490.75810.58050.6914
Group 3Logistic Regression (LR)0.73860.53430.62510.74720.7017
XGBoost (XGB)0.70250.72970.72340.45120.7024
Light Gradient Boosting Machine (LGBM)0.71050.73680.72250.45490.7084
PyCaret (Random Forest (RF))0.72310.78970.75490.49280.7128
H2O.ai (Generalized Linear Modeling (GLM))0.69540.78250.74080.70360.7367
Proposed Model (Group 3-CSS Type 3)(Stacking: 1st layer: LGBM, RF, ADA, 2nd layer: MLP, LR, Meta: LR)0.75660.78920.77260.59060.7355
Group 4Logistic Regression (LR)0.78990.62490.69780.84290.8122
XGBoost (XGB)0.79150.79480.79310.64500.8660
Light Gradient Boosting Machine (LGBM)0.79160.79170.79160.66070.8744
PyCaret (Gaussian Naïve Bayes (GNB))0.73460.77750.75540.75580.7305
H2O.ai (Stacking: 1st layer: 22 GBM, 1 GLM, 2 DRF, Meta: GLM)0.69650.79660.74320.72140.7484
Proposed Model (Group 4-CSS Type 3)(Stacking: 1st layer: LGBM, LR, 2nd layer: MLP, Meta: LR)0.82390.86310.84300.76260.8995
Group 5Logistic Regression (LR)0.78870.62400.69670.82640.8079
XGBoost (XGB)0.78550.79560.79050.62720.8658
Light Gradient Boosting Machine (LGBM)0.78540.79250.78890.63630.8720
PyCaret (CatBoost (CAT))0.72310.78830.75430.67820.7362
H2O.ai (Gradient Boosting Machine (GBM))0.70540.78950.74510.69260.7187
Proposed Model (Group 5-CSS Type 3)(Stacking: 1st layer: LGBM, SVM2, 2nd layer: MLP, LR, Meta: LR)0.85640.89520.87540.70680.9115
Table 11. Performance results of the original eight classes using the LGBM model.
Table 11. Performance results of the original eight classes using the LGBM model.
TypeClass NamePrecisionRecallF1 ScoreSpecificityAUCSupport
LGBM
(8 Classes, Group 5)
No limitation of activity0.87250.98550.92560.75700.90251337 (78.8%)
Limited activity but no oxygen supply required0.34560.49810.40810.83850.6715101 (6%)
Oxygen supply with nasal prong required0.44800.34440.38940.90880.8147143 (8.4%)
Oxygen supply with facial mask required0.00220.00110.00150.98940.879313 (0.8%)
Non-invasive mechanical ventilation0.00690.00670.00680.98020.736911 (0.6%)
Invasive mechanical ventilation0.00000.00000.00000.99730.929813 (0.8%)
Multi-organ failure or ECMO0.00000.00000.00000.99910.73674 (0.2%)
Death0.79840.79670.79750.95740.971374 (4.4%)
Average/total Support0.27170.32910.31610.92850.83031696 (100%)
Table 12. Performance results of clinical severity for Types 1, 2, and 3 using the proposed models.
Table 12. Performance results of clinical severity for Types 1, 2, and 3 using the proposed models.
TypeClass NamePrecisionRecallF1 ScoreSpecificityAUCSupport
Proposed Model
(Type 1, Group 5)
Low Severity0.99130.99550.99330.95170.99771594 (94%)
High Severity0.98880.98610.98750.93690.9977102 (6%)
Average/total support0.99010.99080.99040.94430.99771696 (100%)
Proposed Model
(Type 2, Group 5)
Week0.97850.98730.98290.74560.95831438 (84.8%)
Severe0.88890.84980.86900.98230.7941156 (9.2%)
Critical0.93170.95510.94340.75270.9839102 (6.0%)
Average/total support0.93300.93070.93180.82690.91211696 (100%)
Proposed Model
(Type 3, Group 5)
Asymptomatic0.97230.98720.98040.76120.90441227 (72.3%)
Mild0.79510.80300.79930.57240.7114101 (6.0%)
Moderate0.92230.96960.94730.79230.9046156 (9.2%)
Severe0.71440.83380.75980.96290.916927 (1.6%)
Fatal0.87810.88240.89020.78230.979775 (4.4%)
Average/total support0.85640.89520.87540.77420.88341696 (100%)
Table 13. Performance results before and after applying oversampling.
Table 13. Performance results before and after applying oversampling.
TypeModelBefore OversamplingAfter Oversampling
F1 ScoreAUCSMOTEADASYN
F1 ScoreAUCF1 ScoreAUC
Type 1
(Group 5)
Logistic Regression (LR)0.87390.91280.90590.95620.91660.9407
XGBoost (XGB)0.91820.91630.93400.93480.94540.9460
PyCaret (CatBoost (CAT))0.90710.89620.91830.90110.92460.9024
H2O.ai (Stacking: 1st layer: 1 GBM, 1 GLM, 2 DRF, Meta: GLM)0.86260.81260.90310.83870.92670.8433
Proposed Model (Group 5-CSS Type 1)
(Stacking: 1st layer: RF, MLP, SGD 2nd layer: RF, SGD, Meta: LR)
0.93150.93360.96230.98530.99040.9877
Type 2
(Group 5)
Logistic Regression (LR)0.77340.83160.80460.85990.81360.8654
XGBoost (XGB)0.85900.89250.85940.90520.86820.9062
PyCaret (CatBoost (CAT))0.81920.82140.81990.82140.82100.8295
H2O.ai (Generalized Linear Modeling (GLM))0.80130.79280.83120.80450.83390.8084
Proposed Model (Group 5-CSS Type 2)
(Stacking: 1st layer: LGBM, DT, SGD, Meta: LR)
0.89720.89570.91580.91120.93180.9121
Type 3
(Group 5)
Logistic Regression (LR)0.62110.77240.65140.79350.69670.8079
XGBoost (XGB)0.78820.83250.78920.85270.79050.8658
PyCaret (CatBoost (CAT))0.74950.73120.75030.73410.75430.7362
H2O.ai (Gradient Boosting Machine (GBM))0.73660.70970.73990.71130.74510.7187
Proposed Model (Group 5-CSS Type 3)
(Stacking: 1st layer: LGBM, SVM2, 2nd layer: MLP, LR, Meta: LR)
0.79910.85720.85240.88110.87540.9115
Table 14. Selected features from feature selection algorithm for Groups 1, 3, and 5.
Table 14. Selected features from feature selection algorithm for Groups 1, 3, and 5.
GroupsFeature SelectionSelected Feature (Clinical Variables)
Group 1None (9)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI
Forward Selection (5)AGE, PREG, BMI, HRI, TEMPI
Backward Elimination (5)AGE, PREGW, SBP, HRI, TEMPI
RFECV (5)AGE, BMI, SBP, HRI, TEMPI
Proposed Algorithm (5)AGE, BMI, SBP, HRI, TEMPI
Group 3None (32)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR, DM, HTN, HF, CCD, ASTHMA, COPD, CKD, MALIG, CLD, RDAD, DEMEN
Forward Selection (9)AGE, TEMPI, FEVER, FM, SOB, ACC, HTN, RDAD, DEMEN
Backward Elimination (28)AGE, SEX, PREG, PREGW, SBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, DIARR, DM, HTN, CCD, ASTHMA, COPD, CKD, MALIG, CLD, DEMEN
RFECV (26)AGE, SEX, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR, DM, HTN, CCD, ASTHMA, MALIG, DEMEN
Proposed Algorithm (22)AGE, SEX, SBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, DIARR, DM, HTN, CCD, ASTHMA, MALIG, DEMEN
Group 5None (37)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, HRI, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, VN, DIARR, DM, HTN, HF, CCD, ASTHMA, COPD, CKD, MALIG, CLD, RDAD, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
Forward Selection (13)AGE, TEMPI, ST, MAM, SOB, ACC, DM, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
Backward Elimination (32)AGE, SEX, PREG, PREGW, BMI, SBP, DBP, TEMPI, FEVER, COUGH, SPUTUM, ST, RNR, MAM, FM, SOB, HEADA, ACC, DM, HTN, HF, ASTHMA, COPD, CKD, MALIG, RDAD, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
RFECV (22)AGE, SEX, BMI, TEMPI, FEVER, ST, SOB, HEADA, ACC, VN, DIARR, DM,
ASTHMA, COPD, MALIG, CLD, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
Proposed Algorithm (19)AGE, SEX, BMI, TEMPI, FEVER, ST, MAM, SOB, HEADA, ACC, DM, HTN, COPD, MALIG, DEMEN, HGB, HCT, LYMPHO, PLT, WBC
Table 15. Performance results of feature selection for each group in Type 1.
Table 15. Performance results of feature selection for each group in Type 1.
Feature Selection
Algorithm
Group 1Group 2Group 3Group 4Group 5
F1-ScoreAUCF1-ScoreAUCF1-ScoreAUCF1-ScoreAUCF1-ScoreAUC
None0.90690.85420.93980.90810.93740.91150.98650.97720.98670.9867
Forward Selection0.89570.87030.87960.88910.89730.89480.98600.97650.98580.9865
Backward Elimination0.92520.85420.93170.91150.93180.91270.98630.97700.98730.9870
RFECV0.92810.87220.92880.89990.94300.92150.98650.97710.98740.9863
Proposed Algorithm0.92810.87220.94140.90980.94720.91290.98710.97740.99040.9877
Table 16. Performance results of feature selection for each group for Type 2.
Table 16. Performance results of feature selection for each group for Type 2.
Feature Selection
Algorithm
Group 1Group 2Group 3Group 4Group 5
F1-ScoreAUCF1-ScoreAUCF1-ScoreAUCF1-ScoreAUCF1-ScoreAUC
None0.79570.70340.80810.73400.83780.73660.90990.85370.90860.8944
Forward Selection0.80350.69740.78530.73560.83660.72850.90790.86210.90630.9023
Backward Elimination0.80520.71120.81850.74860.83890.78260.90450.86270.90560.9031
RFECV0.81610.75220.82330.73910.84290.79690.90910.86620.92810.9039
Proposed Algorithms0.81610.75220.83910.77690.85890.81870.91860.90310.93180.9121
Table 17. Performance results of feature selection for each group for Type 3.
Table 17. Performance results of feature selection for each group for Type 3.
Feature Selection
Algorithm
Group 1Group 2Group 3Group 4Group 5
F1-ScoreAUCF1-ScoreAUCF1-ScoreAUCF1-ScoreAUCF1-ScoreAUC
None0.73340.63790.75150.68530.75860.72330.82620.82660.83130.8901
Forward Selection0.73450.62770.75410.67430.76220.71420.82850.82440.83560.8799
Backward Elimination0.73790.62200.74880.68230.74880.72460.82950.82550.83730.9019
RFECV0.74140.64310.75260.68900.76050.72850.83320.83090.83890.9043
Proposed Algorithms0.74140.65840.75810.69140.77260.73550.84300.89550.87540.9115
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kim, G.-W.; Ju, C.-Y.; Seok, H.; Lee, D.-H. Adaptive Stacking Ensemble Techniques for Early Severity Classification of COVID-19 Patients. Appl. Sci. 2024, 14, 2715. https://doi.org/10.3390/app14072715

AMA Style

Kim G-W, Ju C-Y, Seok H, Lee D-H. Adaptive Stacking Ensemble Techniques for Early Severity Classification of COVID-19 Patients. Applied Sciences. 2024; 14(7):2715. https://doi.org/10.3390/app14072715

Chicago/Turabian Style

Kim, Gun-Woo, Chan-Yang Ju, Hyeri Seok, and Dong-Ho Lee. 2024. "Adaptive Stacking Ensemble Techniques for Early Severity Classification of COVID-19 Patients" Applied Sciences 14, no. 7: 2715. https://doi.org/10.3390/app14072715

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop