Skip to content

Personal / Case study

ML / DevOps Engineer (Personal project)

Iris MLOps Pipeline

AI / ML
DevOps
Backend
Iris MLOps Pipeline

Version-controlled data and training runs

RandomForest classifier with evaluation

Model packaged and served through FastAPI

Reproducible env: venv + pinned requirements

Tech Stack

Python
Scikit-learn
FastAPI
Pandas
NumPy

Description

This project exists because training a model is the easy half. I wanted the other half: a workflow where the data, the experiment and the served model are all reproducible.

The pipeline covers data preparation, training a RandomForestClassifier, evaluating it, packaging the artefact and serving predictions through a FastAPI endpoint.

Environments are pinned and virtualised so a fresh machine produces the same result, and each stage is a standalone script — which makes the whole thing something you can inspect rather than trust.

It is a small dataset on purpose. The point of the project is the shape of the pipeline, not the accuracy on Iris.

  • Built an end-to-end MLOps pipeline for Iris flower classification.
  • Trained and evaluated a RandomForestClassifier with reproducible runs.
  • Packaged the model artefact and served predictions via a FastAPI endpoint.
  • Kept environments reproducible with virtualenv and pinned requirements.
  • Structured each stage as an independent, re-runnable script.

Page Info

Pipeline stages

Data preparation → training → evaluation → packaging → serving. Each stage is a script you can re-run and get the same result from.

/projects/iris-mlops/pipeline.svg

Inference API

The trained model is exposed through a FastAPI endpoint, so the pipeline ends in something a product could actually call.

/projects/iris-mlops/cover.svg