Essential Python libraries for Machine Learning regression and classification problems:

- Shallow learning: XGBoost (gradient boosting).
- Deep learning, perceptive problems: Keras as TensorFlow front end.
- Feature preprocessing and model selection pipelines: Scikit-Learn. Both XGBoost and Keras have wrappers for the Scikit-Learn API. Scikit-Learn is also useful to try regression and classification models of incremental difficulty, and for clustering and data reduction problems.

All the above libraries have good documentation and extensive examples that can be integrated with the following references:

- Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow, by Aurélien Géron (O'Reilly Media, 2019). The first part of the book gives a practical overview of several Machine Learning algorithms and discusses an end-to-end project.
- Deep Learning with Python, by François Chollet (Manning Publications, 2018): excellent introduction to Keras by examples.