π§ͺ Data Science | βοΈ MLOps | βοΈ DataOps : Talks about π¦
mathematically generated
Hadithi is a Swahili word for story | stories. These are collections of resources, successful and failed project stories, building ML projects that last, design patterns, code testing, and how to navigate in the rapidly changing tech landscape. These stories, sagas and opinions are my own. They neither reflect the companies I have worked or working for, nor should they be taken seriously.
Hadithi is also a home of tools π οΈ, packages π¦ and libraries ποΈ I found useful or nice playing with.
Understanding machine learning predictions. What you see is not always what you get π€.
- An Introduction to Statistical Learning - Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani - \w Python PDF -
- Introduction to Machine Learning - MIT Open Learning Library
- CS229 - Machine Learning - Andrew Ng Stanford University
- CS50's Introduction to Artificial Intelligence with Python - Harvard School of Engineering and Applied Sciences
- Mathematics for Machine Learning - PDF, video and Jupyter Notebooks for introductions to mathematics required for ML
- Machine Learning Foundations - Classical Notebooks, Udemy|Youtube course covering Maths and Code by Jon Khrohn
- Python for Data Analysis - Wes McKinney ο«Ά
- Python Data Science Handbook - Jake VanderPlas
- ML for Beginners - Microsoft - Diagrams, Code, Scikit-learn
- Probability Distribution Explorer - Probability distributions and the stories behind
- Understanding Machine Learning: From Theory to Algorithms - Cambridge PDF - Shai Shalev Shwartz and Ben David
- Gallery of Distributions - Handbook of Statistical Methods
- mlcourse.ai - Open Machine Learning Course
- Algorithms for Decision Making - π
- Natural Language Processing πποΈ
ML Visually
- Illustrated ML - ML Conceptsπ
- Seeing Theory - A visual introduction to probability and statistics π
- MLU-Expl{ai}n - Visual explanations of core machine learning concepts
- Distill - Machine Learning Research Should Be Clear, Dynamic and Vivid
Bayesian Inference
- Think Bayes - Allen Downeyβs classic as Jupyter Book
- Bayesian Modeling and Computation in Python - Martin Osvaldo A, Kumar Ravin; Lao Junpeng, 2021
- Bayesian Methods for Hackers - Probabilistic Programming and Bayesian Inference - DevAuthors
- Statistical Rethinking 2019 - π Course Fall 2017 + Pre-recorded Lectures 2022 - Material 2022 - Richard McElreath's lectures from Leipzig University - PyMC codes
- Bayes Rules! - An Introduction to Applied Bayesian Modeling - Alicia A. Johnson, Miles Q. Ott, and Mine Dogucu - PyMC codes - Jim Albert and Jingchen Hu - GitBook
- Probability and Bayesian Modeling -
- Probabilistic Machine Learning - a book series by Kevin Murphy + GitHub materials
- Statistical Thinking for the 21st Century - Russell A. Poldrack's GitBook
- Bayesian Thinking - A Companion to the Statistics with R Course
- Causal Inference for The Brave and True
Convex Optimization
- Convex Optimization β Boyd and Vandenberghe
- EE364A - Convex Optimization I & II - Stephen P. Boyd - Stanford University
Deep Learning
- Dive into Deep Learning
- MIT 6.S191 Introduction to Deep Learning
- Deep Learning - DS-GA 1008 Β· Spring 2020 Β· NYU Center For Data Science
- Deep Learning for Coders with fastai & PyTorch - Jeremy Howard & Sylvain Gugger - Practical Deep Learning course
- Deep Reinforcement Learning - CS 285 at UC Berkeley
- π€ Huggingface Reinforcement Learning
Podcasts
- Learning Bayesian Statistics
- Linear Digressions - Host: Katie Malone & Ben Jaffe - Ended 2020
Data should always be piped to ensure traceability. Testing different Python pipelines γ°.
What about time series analysis? A tour of Python time series analysis packages π¦.
Becoming a good developer means caring about beautiful coding. Dialogues on Programming paradigms with respect to Python, Rust, Go and Lua Resources Professionals Programming
- A Philosophy of Software Design John Ousterhout
- Clean Code - Roberet C. Martin - Python Code Examples
- Principles of Package Design - Matthias Noback π
Project Structure and Practices
Everything Python π for Developers
- Tiny Python - Everything needed to get started with Python
Functional
- # monaid way - monaid in python - why and how - Vincent Perez
- functional programming jargon
- Awesome Functional Programming πππ
- returns - Interesting π¦ and useful articles
- fp-core π¦ functional programming
- Functional Python I: Typopædia Pythonica - II Dial M for Monoid
Object Oriented
- SOLID - gist examples
- Refactoring
- Python Patterns - Collection of Brandon Rhodes' guide to Design Patterns in Python
- pyglove - Meta programming simplified
Beyond the π
- C++ for Pythonista
- Python >> Rust
- PyO3
- Rust by Examples - Idiomatic Rust
- Guidelines for writing elegant Rust programs
- The Rust Programming Language - π interactive w/ QA
- Rust: Gentle Introduction
- How Rust π¦ is supercharging Python from the ground up
- Lua - Beautifully minimalistic language
Must Have Tools
- pyupgrade - Upgrade Syntax
- refurb - Refactor with suggestions
- rope - Refactoring
- auro - scan source code
- pytest - Behavior-driven developmentpytest-bdd - pytest-parallel pytest-benchmark - pytest-clarity - verbose testing pyhamcrest
- black
- vulture - Find dead π code.
- [linter] - ruff faster Rust-fy linter flake8 mypy - bandit
- shed - all above
- beartype - enforce type at runtime
Optional: