https://python.plainenglish.io/optimizing-machine-learning-models-a-guide-to-using-datasets-and-python-671f8a165aa9