Data Science From Scratch by Joel Grus

First Principles with Python

A practical introductory guide that teaches core data-science concepts by implementing them from first principles in Python. It walks through foundational topics—statistics, probability, linear algebra, data manipulation and visualization—then builds up common algorithms (gradient descent, linear and logistic regression, decision trees, clustering, naive Bayes), model evaluation and cross-validation, recommender systems, natural language processing and basic network analysis, emphasizing intuition through clear code examples and exercises so readers learn how and why methods work rather than just using high-level libraries.

Purchase from Bookshop.org