## 3 Results
### Learning Curves  
Recognizing healthy learning curves is essential for developing robust and reliable models across various applications. A learning curve typically plots a model's performance, such as accuracy or loss, against the number of training instances or epochs. A healthy learning curve demonstrates a model's ability to learn effectively from the data while generalizing well to unseen instances. A healthy learning curve is characterized by a steady increase in both training and validation performance over time, eventually plateauing at a high level. The validation performance should consistently trail slightly behind the training performance, indicating the model's capacity to generalize without severe overfitting. This gap between training and validation curves is crucial, as a large gap may suggest overfitting, while a non-existent or very small gap could indicate underfitting or data leakage. Recognizing healthy learning curves is vital for several reasons. First, it allows researchers and practitioners to select the most appropriate model for a given task. By analyzing learning curves, one can identify models that exhibit a balanced trade-off between training and validation performance, ensuring that the chosen model can generalize well to new data. Second, learning curves serve as a guide for hyperparameter tuning, enabling adjustments to optimize a model's performance and convergence. Moreover, learning curves are essential for detecting overfitting, a common challenge in machine learning where a model performs exceptionally well on the training data but poorly on unseen data. By monitoring learning curves, practitioners can identify early signs of overfitting and implement regularization techniques or modify the model architecture to improve generalization. In high-stake applications, such as medical diagnosis or financial risk assessment, recognizing healthy learning curves is particularly crucial. Models with healthy learning curves are more likely to capture meaningful patterns in the data rather than memorizing noise or dataset-specific characteristics. This reliability is essential for deploying machine learning models in real-world scenarios where accurate predictions can have significant consequences. Figures 1-5 compare the learning curves for SMOTE and SMOTEENN across different sampling strategies (100, 150, 200, 250, and 300 instances). The validation accuracy for SMOTE shows some improvement as the number of instances increases, eventually converging to the training score. However, the absence of a small gap between the training and validation curves, where the validation curve is slightly lower than the training curve,  
Across all sample sizes (100 to 300), SMOTEENN consistently outperforms SMOTE in terms of accuracy for all three models (Decision Tree Regression (DTR), Gradient Boosting Regression (GBR), and Bayesian Regression (BR)). The difference in accuracy between SMOTE and SMOTEENN is most pronounced at the smallest sample size (100), with SMOTEENN achieving up to 13.5% higher accuracy (e.g., BR with SMOTEENN at 0.96 vs. BR with SMOTE at 0.825). As the sample size increases, the accuracy gap between SMOTE and SMOTEENN narrows, but SMOTEENN still maintains a higher accuracy across all models and sample sizes. For both training and test sets, SMOTE consistently achieves perfect or near-perfect R\({}^{2}\) values (1.0 or 0.99) across all models and sample sizes, indicating potential overfitting. SMOTEENN also achieves high R\({}^{2}\) values, but they are slightly lower than SMOTE's, particularly for the training set. This suggests that SMOTEENN may be less prone to overfitting compared to SMOTE. The test set R\({}^{2}\) values for SMOTEENN are generally higher than those for SMOTE, indicating better generalization performance. When comparing SMOTE to SMOTEENN, differences in Mean Squared Error (MSE) can reflect how well each approach handles imbalanced class distributions.