Exploring Methods for Dealing with Class Imbalances in Supervised Machine Learning Structured Datasets