I’m working my way through this book:
https://www.amazon.com/Data-Science-Scratch-Principles-Pytho...
by rewriting the examples in Swift:
https://github.com/melling/data-science-from-scratch-swift
I do like the author’s idea of creating his Simple Statistics library:
https://macwright.org/2012/06/26/simple-statistics.html
You definitely learn much more by building something, even if it’s less than perfect.
https://www.amazon.com/Data-Science-Scratch-Principles-Pytho...
If we're talking about a longer format, such as a book, then we might consider digging deeper and implementing as much as possible using the barest of Python requirements. Indeed, Joel Grus does implement everything from scratch in his great (although a bit dated) book https://www.amazon.com/Data-Science-Scratch-Principles-Pytho....
EDIT: This is still a work in progress (and relies on numpy and matplotlib), but here is my version: https://github.com/DataForScience/DeepLearning These notebooks are meant as support for a webinar so they might not be the clearest as standalone, but you also have the slides there.
My two favorite applied ones are
* Data science from scratch because it's one of the most concise and logical expositions of most ML algorithms in simple python that you'll remember and be able to reproduce from scratch if need be https://www.amazon.com/Data-Science-Scratch-Principles-Pytho...
* Deep learning with python as a next step since it covers more complicated neural net architectures using Keras so not from scratch but with clear code that you'll again remember
* Designing data-intensive apps because it'll prepare you for most challenges you'll face as a data engineer
On the theoretical side
* All of statistics: it's been recommended here on hacker news many times and for good reason. Its scope is very ambitious and it avoids the trap that math books fall into of leaving too many seriously hard steps an exercise to the reader. https://www.amazon.com/All-Statistics-Statistical-Inference-...
* Convex optimization which will give you the theoretical foundation to understand mathematically supervised and unsupervised learning http://web.stanford.edu/~boyd/cvxbook/
I'll also add a reference to a Reinforcement Learning resource because I'm trying to build a game AI company using its ideas. Simple RL with TF because being able to program virtual robots to do stuff is really cool and this is one of the easier ways to better grasp RL https://medium.com/emergent-future/simple-reinforcement-lear.... Probably worth studying in conjunction with RL an introduction which is more theoretical and has a Q&A like approach to understanding the material which was interesting.
Python for Data Analysis http://amzn.to/2dDw6fL
Web Scraping with Python: Collecting Data from the Modern Web http://amzn.to/2eov4dZ
Python Machine Learning http://amzn.to/2eobdt3
I’ve been working through Joel Grus’ Data Science from Scratch,
https://www.amazon.com/Data-Science-Scratch-Principles-Pytho...
rewriting the Python examples in Swift:
https://github.com/melling/data-science-from-scratch-swift