Based on: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow β AurΓ©lien GΓ©ron
Instructors:
- About This Course
- Key Features
- Prerequisites
- Course Structure
- Weekly Schedule
- Lab Notebooks
- Getting Started
- Recommended Resources
- Instructor
This is a 12-week intensive summer school on Machine Learning, designed for students with some Python experience. Each session is 2 hours: 1 hour of lecture followed by 1 hour of hands-on lab in Google Colab.
The course takes a practical, code-first approach β every concept is immediately reinforced with working scikit-learn code. By the end, students can build, evaluate, and reason about a wide range of ML models.
- π 12 lecture decks β covers the full supervised + unsupervised ML landscape
- π» 12 Colab-ready lab notebooks β Guided β Fill-in-the-blank β Challenge structure
- π¬ Real datasets β MNIST, California Housing, Iris, Breast Cancer, and more
- π§ͺ Consistent pedagogy β every lab has the same 3-part format for predictable pacing
- π Textbook-aligned β all slides reference GΓ©ron's Hands-On ML (3rd ed.)
| Skill | Level Required |
|---|---|
| Python | Some experience (loops, functions, lists) |
| Math | Basic algebra; no calculus required |
| Statistics | Mean, variance, correlation |
| Machine Learning | None β this is the starting point |
Students should be comfortable reading Python code. No prior ML or deep learning experience is assumed.
Format: 2 hours/week Β· 1hr lecture + 1hr lab Β· 12 weeks
In this initial part, weβll guide you through the essential tools needed for data science and machine learning, including installing VSCode, Jupyter Notebooks, Python virtual environments, Git for version control, GitHub for collaboration, Markdown, and creating a Medium blog post.
| Title | Resource | Recording | Mentor |
|---|---|---|---|
| Initial Setup | MacOS | Windows | Linux | Tutorial | Dr. Idris |
| Blogging using Medium | How to write Medium Article | Recording | Lukman |
| Basic Command Line Operations | CommandLine | Recording1| Recording2 | Dr. Idris | Falalu |
| Setup Git and GitHub | Git/GitHub | Recording1 | Recording2 | Dr. Idris | Falalu |
| Python Virtual Environments | Virtual Environment | Recording | Dr. Shamsuddeen |
| VSCode for Data Science | VSCode for DS | Recording | Dr. Shamsuddeen |
| Introduction to Markdown | Markdown | Recording | Dr. Shamsuddeen |
| Customizing GitHub Profile | Customizing Profile | Recording | Lukman |
| Google Colab | Google Colab | Recording | Dr. Idris |
| Assignment Name | Link to Assignment |
|---|---|
| Getting Started with Medium | Getting Started with Medium |
| GitHub Fundamentals | GitHub Fundamentals Assignment |
| GitHub Profile | Customize your Proile |
| Week | Topic | Slides | Lab | Recording | Key Concepts | Instructor |
|---|---|---|---|---|---|---|
| 1 | Introduction to ML | π Slides | π» Lab 01 | π₯ Recording | ML types, the ML landscape, Python/NumPy/Pandas | Dr. I. S. Ahmad |
| 2 | End-to-End ML Project β EDA | π Slides | π» Lab 02 | π₯ Recording | Problem framing, data exploration, geographic visualization | Dr. I. S. Ahmad |
| 3 | Data Preprocessing & Pipelines | π Slides | π» Lab 03 | π₯ Recording | Imputation, scaling, Pipeline, ColumnTransformer |
Dr. I. S. Ahmad |
| 4 | Binary Classification | π Slides | π» Lab 04 | π₯ Recording | SGD classifier, precision, recall, F1, ROC/AUC | Dr. I. S. Ahmad |
| 5 | Multiclass Classification & Error Analysis | π Slides | π» Lab 05 | π₯ Recording | OvR, OvO, confusion matrix heatmap, error profiling | Dr. I. S. Ahmad |
| 6 | Training Models β Linear Regression & GD | π Slides | π» Lab 06 | π₯ Recording | Normal equation, batch/SGD/mini-batch gradient descent | Dr. I. S. Ahmad |
| 7 | Support Vector Machines | π Slides Β· Part 2 | π» Lab 08 | π₯ Recording | Max margin, kernel trick, RBF/polynomial kernels, SVR | Dr. I. S. Ahmad |
| 8 | Decision Trees | π Slides | π» Lab 09 | π₯ Recording | CART, Gini impurity, depth regularization, feature importance | Dr. I. S. Ahmad |
| 9 | Ensemble Learning & Random Forests | π Slides | π» Lab 10 | π₯ Recording | Bagging, voting, AdaBoost, Gradient Boosting, Random Forests | Dr. I. S. Ahmad |
| 10 | Neural Networks | π Slides | π» Lab 11 | π₯ Recording | Perceptron, Keras Sequential API, Dropout, BatchNorm | Dr. I. S. Ahmad |
| 11 | Unsupervised Learning | π Slides | π» Lab 12 | π₯ Recording | k-Means, elbow method, silhouette score, DBSCAN, GMMs | Dr. I. S. Ahmad |
Every lab follows the same structure to make pacing predictable:
| Section | Duration | Description |
|---|---|---|
| Part A β Guided | ~20 min | Pre-filled code β run cells and observe outputs carefully |
| Part B β Fill in the Blank | ~25 min | Skeleton code with ??? placeholders to complete |
| Part C β Challenge | ~15 min | Open-ended extension problems for fast finishers |
All notebooks are designed for Google Colab β no local setup required. Click any badge below to open directly:
No setup needed. Click any "Open in Colab" badge above. All required packages (scikit-learn, TensorFlow/Keras, matplotlib, pandas) are pre-installed in Colab.
π‘ For Lab 11 (Neural Networks), go to Runtime β Change runtime type β T4 GPU for faster training.
# Clone the repository
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO
# Create a virtual environment
python -m venv ml-env
source ml-env/bin/activate # macOS/Linux
ml-env\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Launch Jupyter
jupyter notebook labs/requirements.txt:
numpy>=1.24
pandas>=2.0
matplotlib>=3.7
scikit-learn>=1.3
tensorflow>=2.13
jupyter
- π Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (3rd ed.) β AurΓ©lien GΓ©ron All slides in this course are based on this book.
- π Python for Data Analysis β Wes McKinney (free online)
- π Python Data Science Handbook β Jake VanderPlas (free online)
- π Kaggle β competitions and free courses
- π‘ Google ML Crash Course
Found a bug in a notebook? Have a suggestion for a challenge problem? Pull requests are welcome.
- Fork the repository
- Create a feature branch (
git checkout -b fix/lab-03-typo) - Commit your changes
- Open a pull request
This course material is released under the MIT License. The slides are based on content from Hands-On Machine Learning by AurΓ©lien GΓ©ron (O'Reilly Media) β please respect the original work's copyright when sharing.
Made with β€οΈ by Arewa Datascience Academy