Understanding Machine Learning, one concept at a time.
Machine Learning can feel complicated when you're just starting, especially when you're trying to connect the theory, mathematics, and actual code.
While learning ML, I started documenting concepts in my handwritten notes, along with examples and implementations. Now, I'm turning those notes into a series of Jupyter notebooks to share what I've learned.
The goal is simple: Understand the concept, see how it works, and implement it yourself.
- 💡 Simple explanations — understand what a concept means and why we need it.
- 📐 Mathematical intuition — learn the reasoning behind algorithms.
- 💻 Python implementations — follow the code, experiment, and learn by doing.
- 📊 Diagrams and visualizations — understand concepts visually.
- 🧪 Practical examples — connect theory with real-world applications.
The notebooks follow a beginner-friendly progression, starting with ML fundamentals and gradually moving toward more advanced topics.
| # | Topic | Notebook | Kaggle | Status |
|---|---|---|---|---|
| 01 | Machine Learning Foundations | Open Notebook | View on Kaggle | Available |
| 02 | ML Challenges And Industry Applications | Open Notebook | View on Kaggle | Available |
| 03 | MLDLC Problem Framing and toy pipeline | Open Notebook | View on Kaggle | Available |
| 04 | Multi-Dimensional Tensor Data Representation | Open Notebook | View on Kaggle | Available |
| 05 | Data Gathering: APIs and Web Scraping | Open Notebook | View on Kaggle | Available |
| 06 | Exploratory Data Analysis | Open Notebook | View on Kaggle | Available |
| 07 | Feature Scaling and Encodings | Open Notebook | View on Kaggle | Available |
| 08 | ColumnTransformer and Pipelines | Open Notebook | View on Kaggle | Available |
Recommended: View the notebooks on Kaggle when available. Run the code, change the inputs, and experiment to see how the results change and understand each concept more clearly.
More notebooks will be added progressively.
- Open a notebook directly on GitHub to read its explanations and view saved outputs.
- Download the notebook or open it in Jupyter or VS Code to run the code yourself.
- Experiment with the examples and try changing the inputs to see what happens.
Some notebooks may require additional Python libraries or datasets. Relevant setup instructions will be included where needed.
- Beginners starting their Machine Learning journey.
- Students who want to connect theory with practical code.
- Anyone revisiting ML fundamentals.
- Self-learners looking for structured notes and examples.
If you find these notebooks helpful, consider starring the repository to support the series.
- GitHub: Muhammad Faheem
- Kaggle: Kaggle
- Linkedin Muhammad Faheem
These notebooks are based on my personal learning notes and implementations. I'm sharing them because I believe learning becomes more valuable when we share what we understand with others.
The series is a work in progress, and I'll continue adding notebooks as they are completed.
Happy Learning!
— Muhammad Faheem