## 3 Results and Discussion
### Model Evaluation and Performance
Creatinine is a blood metabolite that is closely linked to the glomerular filtration rate (GFR). Therefore, creatinine can have a great influence on the result of the eGFR. The performance matrix of the models after incorporating creatinine is represented in Table 5. It can be observed that by adding creatinine to the three subsets of predictors, all the models attained maximum performance at an accuracy of 0.99 and AUC-ROC of 1.0. Therefore, including a creatinine test in routine health exams could help detect CKD. The graphical representation of the AUC-ROC, precision-recall curve and confusion matrix of the enhanced models with creatinine are shown in Figure 4. We also visualized the random forest tree for subset A, B and C (with or without creatinine) to examine the impact of the variables in the model (Supplementary File 1, Figures S1-S4). Creatinine testing is not included in many countries' routine health examinations since adding more items to a full examination increases the expense. An algorithm that evaluates the risk of CKD based on common test findings rather than the creatinine test would boost the chances of early detection and treatment. During our literature review, we have not come across any study that utilized the novel metabolic indices to develop a machine learning model for early CKD prediction. The study showed that machine learning (ML) models using age, gender, and with any of the metabolic indices (TyG-Index, TG/HDL-C ratio, and VAI), can equally identify individuals at risk of CKD comparable to previously developed models that were fully enhanced by including creatinine and training many predictors to improve performance [20; 21]. Our proposed indices (TyG-Index, TG/HDL-C ratio, and VAI) can be an alternative for predicting CKD in healthy middle-aged adults, especially in settings where creatinine data are unavailable. Our research highlights some of the possibilities in ML-based CKD risk prediction using the novel metabolic indices with or without the use of creatinine. There were limitations to the study, some of which were concerning the dataset. The issue of class imbalance in the positive class was a major challenge. It is difficult to train classifiers on this type of data since they get biased toward a specific set of classes, resulting in poor performance. This problem was addressed by applying the Synthetic Minority Oversampling Technique (SMOTE). Another limitation was the issue of the generalizability as the study used participants only from Taiwan. This could be addressed by utilizing data from other countries. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline \multicolumn{8}{c}{**Subset A: Age + Gender + TyG-Index + Creatinine**} \\ \hline
**Model** & **Accuracy** & **Precision** & **Recall (Sensitivity)** & **Specificity** & **F-Score** & **AUC** \\ \hline \multirow{4}{*}{
\begin{tabular}{c} Random forest \\ Logistic regression \\ XGB classifier \\ \end{tabular} } & Train & Test & & & & & & \\
200.99 & 0.99 & 0.99 & 1.0 & 0.99 & 0.99 & 1.0 \\ \hline \multicolumn{8}{c}{**Subset B: Age + Gender + TG/HDL-C ratio + Creatinine**} \\ \hline
**Model** & **Accuracy** & **Precision** & **Recall (Sensitivity)** & **Specificity** & **F-Score** & **AUC** \\ \hline \multirow{4}{*}{
\begin{tabular}{c} Random forest \\ Logistic regression \\ XGB classifier \\ \end{tabular} } & Train & Test & & & & & & \\
200.99 & 0.99 & 0.98 & 0.99 & 0.98 & 0.99 & 1.0 \\
200.99 & 0.99 & 0.99 & 1.0 & 0.99 & 0.99 & 1.0 \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Model performance comparison with creatinine. Only traditional machine learning models were used in this study. Deep learning, a sophisticated subset of machine learning and artificial intelligence, could be used to improve on the current findings. Figure 3: AUC–ROC and precision-recall curve of the machine learning models with different prediction groups without using creatinine. (**A**) subset A: Age + Gender + TgG-Index; (**B**) subset B: Age + Gender + TG/HDL-C ratio; (**C**) subset C: Age + Gender + VAI.