Vai al contenuto

Manuale d'Uso del Servizio di Addestramento Modelli Sklearn

Introduzione

Questo servizio consente di addestrare un modello di classificazione o regressione supervisionato utilizzando la libreria scikit-learn. È possibile selezionare l’algoritmo desiderato (es. RandomForestClassifier) e configurarane i principali iperparametri. Il servizio include una pipeline di preprocessing automatica e traccia tutti i risultati con MLflow.

Funzionalità del Servizio

1. Addestramento del Modello

Il servizio costruisce una pipeline composta da:

  • Preprocessing automatico:
  • Imputazione dei valori mancanti (media per numeriche, moda per categoriche).
  • Standardizzazione delle feature numeriche.
  • One-hot encoding delle feature categoriche.
  • Algoritmo supervisionato configurabile dinamicamente (classificatore o regressore).

In fase di classificazione, viene applicata stratificazione automatica sullo split; per la regressione viene effettuato uno split standard.

2. Tracciamento dei Risultati

Tutte le informazioni relative al modello, inclusi iperparametri, metriche e artefatti, vengono registrate su MLflow. Le metriche tracciate includono:

  • Per classificazione:
  • Accuracy
  • F1 Score
  • ROC AUC

  • Per regressione:

  • Mean Squared Error (MSE)
  • Mean Absolute Error (MAE)
  • R-squared (R²)

3. Esposizione del Modello

Una volta completato l'addestramento, il modello viene automaticamente salvato e può essere successivamente esposto tramite Seldon. È disponibile il collegamento diretto al modello e al dataset su Sistema Data Analytics tramite tag MLflow.

Utilizzo del Servizio

Interfaccia Utente

L’interfaccia permette di configurare i parametri tramite JSON e di visualizzare i risultati tramite MLflow integrato.

1. Caricamento del Dataset

È possibile caricare un dataset tabellare. La colonna da utilizzare come target (label) va specificata tramite il parametro labelColumn.

2. Configurazione dei Parametri

I parametri configurabili includono:

  • labelColumn: nome della colonna target (obbligatorio).
  • class_algorithm: nome dell’algoritmo sklearn da utilizzare (es. RandomForestClassifier, LinearRegression, ecc.).
  • algorithm_params: dizionario JSON con gli iperparametri da passare all'algoritmo. Ad esempio:

{
  "n_estimators": 100,
  "max_depth": null,
  "class_weight": "balanced"
}
* train_test_split_args: parametri per lo split del dataset (default: 80/20 stratificato per classificazione). * Regression: booleano per indicare se il task è di regressione (true) o classificazione (false, default). * MLFlowregisteredModelName: nome (opzionale) con cui registrare il modello su MLflow.

Per la lista completa degli algoritmi disponibili: Documentazione modelli supervisionati di scikit-learn

3. Avvio dell’Addestramento

Dopo la configurazione, è sufficiente salvare la BDA Application ed eseguire il RUN.

4. Visualizzazione dei Risultati

Tramite la dashboard MLflow integrata nella BDA application attraverso la sezione "experiments" è possibile:

  • Vedere i parametri e metriche delle run.
  • Analizzare grafici (ROC, residui, distribuzioni predette).
  • Scaricare o ispezionare il modello salvato.

Riferimenti Utili