###### Abstract
The CKD early prediction is even more challenging for people who live in remote and hard-to-reach settings because of either lack of or precarious primary care. CKD early prediction is relevant to improve CKD screening and reduce public health costs. In this study, we address four problems. The first problem is size limitation, in which training models using small datasets can result in skewed performance estimates [18]. The second problem is the imbalance problem [19], in which models may underperform in minority classes, producing misleading results [20]. The third problem is the choice of the algorithm to address imbalanced and limited-size datasets. The fourth problem is the early prediction of CKD using risk levels (low risk, moderate risk, high risk, and very high risk) and a reduced number of biomarkers. CKD datasets with risk level evaluation are very scarce and of limited size. The majority of available datasets are composed of binary classes. The analyses based on risk levels enable patients to have more detailed explanations about the evaluation results. In the medical area, the availability of imbalanced and limited-size datasets is common. Although the usage of limited-size datasets may be questioned, it is already evidenced that such datasets can be relevant for the medical area [21]. Our study relies on data from medical records of Brazilians to provide classification models to assist in the early prediction of CKD in developing countries. We performed comparisons between machine learning (ML) models, considering ensemble and non-ensemble approaches. This work complements the results presented in our previous study [5], where a comparative analysis was performed with the following ML techniques: decision tree (DT), random forest (RF), naive Bayes, support vector machine (SVM), multilayer perceptron, and k-nearest neighbor (KNN). In such a previous study, DT and RF presented the highest performances. However, in our previous experiments, we did not apply automated oversampling techniques. Notwithstanding, in the current study, we used the same Brazilian CKD dataset to enable the implementation and validation of the models: DT, RF, and multi-class AdaBoosted DTs. We conduct further experiments to improve the state-of-the-art by presenting an approach based on oversampling techniques. We applied the overall local accuracy (OLA) and local class accuracy (LCA) methods for dynamic classifier selection (DCS). We used the k-nearest oracles-union (KNORA-U), k-nearest oracles- eliminate (KNORA-E), and META-DES methods for dynamic ensemble selection (DES). We used such methods due to their usual high performance with imbalanced and limited size datasets [22]. The definitions of frequently used acronyms are presented in Table 1. \begin{table}
\begin{tabular}{l l} \hline \hline
**Acronyms** & **Definition** \\ \hline CKD & Chronic Kidney Disease \\ \hline WHO & World Health Organization \\ \hline DM & Diabetes Mellitus \\ \hline AH & Arterial Hypertension \\ \hline ML & Machine Learning \\ \hline DT & Decision Tree \\ \hline RF & Random Forest \\ \hline SVM & Support Vector Machine \\ \hline KNN & K-Nearest Neighbor \\ \hline OLA & Overall Local Accuracy \\ \hline LCA & Local Class Accuracy \\ \hline DCS & Dynamic Classifier Selection \\ \hline KNORA-U & K-Nearest Oracles-Union \\ \hline KNORA-E & K-Nearest Oracles-Eliminate \\ \hline DES & Dynamic Ensemble Selection \\ \hline SMOTE & Synthetic Minority Oversampling Technique \\ \hline ROC & Receiver Operating Characteristic \\ \hline PRC & Precision-Recall Curve \\ \hline MCC & Matthew’s Correlation Coefficient \\ \hline FMI & Fowlkes-Mallows \\ \hline GFR & Glomerular Filtration Rate \\ \hline ANN & Artificial Neural Network \\ \hline OCT & Optical Coherence Tomography \\ \hline PR & Precision \\ \hline ACC & Accuracy score \\ \hline PHR & Personal Health Records \\ \hline DSS & Decision Support System \\ \hline CDA & Clinical Document Architecture \\ \hline GUI & Graphical User Interface \\ \hline CV & Cross-Validation \\ \hline \hline \end{tabular}
\end{table}