Machine Learning: Theory and Hands-on Practice with Python