Hands On "AI Engineering"

Hands On "AI Engineering"

180-Day AI and Machine Learning Course from Scratch

Week 10–11: Supervised Learning: Classification (Days 58-70)

Jun 13, 2026
∙ Paid

Introduction

Supervised classification is easy to learn in fragments: one notebook for decision trees, another for random forests, a third for fraud with SMOTE, then KNN and SVM in isolation. Each lesson works. None of them answer the question backend engineers actually face: how do these algorithms live together behind one API, one evaluation contract, and one product surface?

Week 10–11: Supervised Learning — Classification (Days 58–70) closes that gap. Eight core lesson days (trees through SVM) are ported into a self-contained Python package, wrapped by a classical ML engine that composes real workflows—fraud training, model comparison, registry persistence—and exposed through a dual-layer FastAPI backend plus an optional React dashboard.

Days 66–70 remain review and practice in the broader curriculum; the integrated runtime focuses on Days 58–65 as the executable foundation. Original day58/–day65/ folders in the parent repo stay read-only references. The integrated project is what you ship, test, and extend.

This article explains the system shape: what each concept contributes, where it lives in code, and how to build the same architecture yourself.


System Overview

The integrated project (week_10_11_aiml_integrated_project) uses four cooperating layers:

LayerResponsibilityDomain modulesPorted lesson code (day58_* … day65_*)—trees, forests, fraud, KNN, SVMComposition engineclassical_ml_engine—unified metrics, fraud pipeline, lab compare, model registryAPI layerFastAPI on port 8000—learning routes + product routesProduct UIReact (Vite) on port 3000—Fraud Center, Model Comparison Lab, curriculum dashboard

Dual API surfaces:

  • Learning (/api/v1/week1011/dayNN/...) — call one day’s logic in isolation for teaching and debugging.

  • Product (/api/v1/risk/...) — composed workflows that mirror how a risk or analytics service would behave.

Dependency rule: classical_ml_engine imports day modules and thin JSON wrappers in week1011_apis.py. Day modules never import the engine. That keeps lessons portable and prevents circular coupling.

week_10_11_aiml_integrated_project/
├── packages/week1011_python/src/week1011_python/
│   ├── day58_decision_trees_scratch.py
│   ├── day59_decision_trees_sklearn.py
│   ├── day60_random_forests.py
│   ├── day61_fraud_detection.py
│   ├── day62_knn_scratch.py
│   ├── day63_knn_sklearn.py
│   ├── day64_svm_scratch.py
│   ├── day65_svm_sklearn.py
│   ├── week1011_apis.py
│   └── classical_ml_engine/
├── backend/app/          # FastAPI routes, schemas, middleware
├── frontend/src/         # React pages + API client
├── tests/
└── scripts/              # setup.sh, start.sh, stop.sh

Architecture Diagram


Subscribe to Access Github

Github Link:

https://github.com/sysdr/aiml-p/tree/main/week_10_11_aiml_integrated_project


Engine / Core System Design

User's avatar

Continue reading this post for free, courtesy of AI Engineering.

Or purchase a paid subscription.
© 2026 Systemdr, Inc. · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture