After the selection, pre-processing and partitioning of the data described above, it became clear that we needed a machine learning algorithm that could efficiently handle the complexity and volume of our data, as well as effectively deal with the inherent imbalance in biological classes. XGBoost was chosen as the ideal modelling tool because of its ability to optimize performance on large, unbalanced datasets, thanks to its focus on gradient boosting, which improves accuracy and controls overfitting. It is a boosting algorithm that sequentially optimizes decision tree models, minimizing classification error and controlling overfitting, which is critical to maintaining model generality on unseen data . This method is particularly powerful in contexts where relationships between variables are highly non-linear, a common feature of biochemical data that complicates many other types of statistical analysis -a common situation in drug discovery, where data-driven approaches such as XGBoost can outperform traditional empirical and physics-based methods .