Back to Portfolio Voltar ao Portfólio

ML Production Pipeline

End-to-end Machine Learning pipeline for wine quality classification, demonstrating modern MLOps practices including experiment tracking, model versioning, containerization, and monitoring.

Pipeline end-to-end de Machine Learning para classificação de qualidade de vinhos, demonstrando práticas modernas de MLOps incluindo rastreamento de experimentos, versionamento de modelos, containerização e monitoramento.

Problem
Problema

Classify wine quality (good/bad) based on chemical properties.

Classificar a qualidade de vinhos (boa/ruim) baseado em propriedades químicas.

Solution
Solução

Production API serving Random Forest models trained and tracked with MLflow.

API de produção servindo modelos Random Forest treinados e rastreados com MLflow.

Architecture

Arquitetura

System composed of three main services orchestrated via Docker Compose, communicating through a private Tailscale network.

Sistema composto por três serviços principais orquestrados via Docker Compose, comunicando-se através de uma rede privada Tailscale.

System Architecture Diagram

MLflow Server

Manages the complete model lifecycle: experiment tracking, metrics logging, and versioning.

Gerencia o ciclo de vida completo dos modelos: rastreamento de experimentos, registro de métricas e versionamento.

FastAPI

Real-time inference interface with input validation, automatic documentation, and health checks.

Interface de inferência em tempo real com validação de inputs, documentação automática e health checks.

Prometheus

Collects operational metrics: latency, error rates, and resource usage for continuous monitoring.

Coleta métricas operacionais: latência, taxa de erros e uso de recursos para monitoramento contínuo.

Results

Resultados

Random Forest v6 model performance on the test set.

Performance do modelo Random Forest v6 no conjunto de teste.

88.2%
F1 Score
84.6%
Accuracy
90.9%
ROC AUC
86.0%
Precision
90.4%
Recall
12
Experiments
Experimentos
6
Model Versions
Versões do Modelo
6,497
Samples (Dataset)
Amostras (Dataset)
4-9s
Training Time
Tempo de Treinamento

Technologies

Tecnologias

Core Stack
Python 3.11 FastAPI MLflow 2.10 scikit-learn Pandas Pydantic
Infrastructure
Infraestrutura
Docker Docker Compose Prometheus Tailscale Uvicorn

Usage Example

Exemplo de Uso

Make a wine quality prediction via API.

Fazer uma predição de qualidade de vinho via API.

request
curl -X POST "http://localhost:8001/predict" \
  -H "Content-Type: application/json" \
  -d '{
    "fixed_acidity": 7.4,
    "volatile_acidity": 0.7,
    "citric_acid": 0.0,
    "residual_sugar": 1.9,
    "chlorides": 0.076,
    "free_sulfur_dioxide": 11.0,
    "total_sulfur_dioxide": 34.0,
    "density": 0.9978,
    "pH": 3.51,
    "sulphates": 0.56,
    "alcohol": 9.4,
    "wine_type": "red"
  }'
response
{
  "prediction": 0,
  "probability": 0.85,
  "quality_label": "Low Quality",
  "model_version": "6"
}

Demonstrated Skills

Competências Demonstradas

Machine Learning

Feature engineering, model training, performance evaluation, and hyperparameter optimization.

Feature engineering, treinamento de modelos, avaliação de performance e otimização de hiperparâmetros.

MLOps

Experiment tracking, model versioning, model registry, and automated deployment.

Rastreamento de experimentos, versionamento de modelos, model registry e deployment automatizado.

Software Engineering

Engenharia de Software

RESTful APIs, data validation, automatic documentation, and structured logging.

APIs RESTful, validação de dados, documentação automática e logging estruturado.

DevOps

Containerization, service orchestration, monitoring, and secure private networks.

Containerização, orquestração de serviços, monitoramento e redes privadas seguras.