An educational Jupyter notebook demonstrating how the five tribes of machine learning (from Pedro Domingos' "The Master Algorithm") approach the classic Iris flower classification problem.
This project compares five fundamental approaches to machine learning:
- 🌳 Symbolists (Decision Trees) - Learning through logical rules
- 🧠 Connectionists (Neural Networks) - Learning by mimicking the brain
- 🧬 Evolutionaries (Genetic Algorithms) - Learning through simulated evolution
- 📊 Bayesians (Naive Bayes) - Learning through probabilistic inference
- 📏 Analogizers (k-Nearest Neighbors) - Learning by recognizing similarity
# Clone the repository
git clone <your-repo-url>
cd masteralgorithm
# Install dependencies
pip install -r requirements.txt# Start Jupyter
jupyter notebook
# Open: five_tribes_iris_classification.ipynbOr view the pre-executed notebook directly on GitHub!
- The philosophical differences between ML paradigms
- When to use each type of algorithm
- Working implementations you can modify and experiment with
- How the same problem can be solved in fundamentally different ways
- Python 3.9+
- See
requirements.txtfor package dependencies
This project is inspired by Pedro Domingos' book "The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World".
MIT License - feel free to use this for learning and teaching!
Suggestions and improvements welcome! Please open an issue or pull request.