- Kaggle (www.kaggle.com) is indispensable. We really need to be part of the community.
- Fastai (www.fast.ai). Excellent, full suite of video lectures by Jeremy Howard, who believes in a top-down approach to teaching and learning.
- Andreas C. Müller’s Introduction to Machine Learning with Python, published October 2016. The author is one of scikit-learn’s developers.
- Antonio Gulli’s Deep Learning with Keras, published April 2017. Excellent for progressive learning. Very readable.
- François Chollet’s Deep Learning with Python, published October 2017. I find concepts explained very well in the book. The author is one of keras’ developers.
- Sebastian Raschka’s Python Machine Learning make understanding very accessible. More of a bottom-up teaching/learning approach. 2nd edition was published September 2017.
- Aurélien Géron’s Hands-on Machine Learning with Scikit-Learn and Tensorflow, published April 2017.
Be forewarned, though, the field is moving in dazzling speed. New software libraries and new versions of them pop up every few months. Cookbook-style step-by-step instructions, whether online or in print, may not be up-to-date by the time we consult them. It is almost impossible to keep any step-by-step guides in this field up to that.
Even the best solutions from stackoverflow, on pytorch or keras or scikit-learn for example, might well be outdated by the time we find them. Best to be alert and if necessary, check the date of the posts. Be prepared to be splashed with Python’s deprecation warnings and don’t take offence. Expect to see warnings such as:
lib/python3.6/site-packages/sklearn/ensemble/forest.py:246: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22. "10 in version 0.20 to 100 in 0.22.", FutureWarning)
which can be turned off with:
import warnings warnings.simplefilter(action='ignore', category=FutureWarning)