Che cos'è Model Builder?

Completato

L'apprendimento automatico è una tecnica che usa la matematica e la statistica per identificare i modelli nei dati senza che vengano programmati in modo esplicito. Model Builder è una semplice estensione grafica di Visual Studio che consente di compilare, eseguire il training e distribuire modelli di Machine Learning personalizzati usando ML.NET.

Screenshot che mostra l'estensione Model Builder di Visual Studio per ML.NET.

Ad esempio, si supponga di voler stimare il prezzo di una casa. Se si usa una singola caratteristica, ad esempio le dimensioni di una casa in piedi quadrati per stimarne il prezzo, probabilmente si potrebbe programmare un'euristica che correla case più grandi a un prezzo più alto.

Grafico che mostra un modello di regressione lineare per il prezzo degli immobili.

Purtroppo, il mondo non è sempre così semplice. Sono molte le variabili che influiscono sul prezzo di una casa. In casi come questo, diventa difficile formulare un'euristica semplice che acquisisca i casi limite e l'apprendimento automatico potrebbe essere una soluzione migliore.

Con l'apprendimento automatico, anziché programmare le regole in modo esplicito, si usano i dati cronologici per identificare queste regole in base alle osservazioni effettive. I modelli individuati tramite l'apprendimento automatico vengono quindi usati per creare un artefatto denominato modello per fare previsioni usando dati nuovi e non visti in precedenza.

ML.NET è un framework di apprendimento automatico open source e multipiattaforma per .NET. È quindi possibile applicare le competenze .NET esistenti e usare gli strumenti con cui si ha familiarità (ad esempio Visual Studio) per eseguire il training dei modelli di Machine Learning.

Quali tipi di problemi è possibile risolvere usando Model Builder?

È possibile usare Model Builder per risolvere molti problemi comuni di apprendimento automatico, ad esempio:

  • Categorizzazione dei dati: organizzare articoli di notizie in base all'argomento.
  • Stima di un valore numerico: stimare il prezzo di una casa.
  • Raggruppamento di elementi con caratteristiche simili: segmentare i clienti.
  • Consigli sugli elementi: consigliare i film.
  • Classificazione delle immagini: contrassegnare un'immagine in base al contenuto.
  • Rilevamento di oggetti in un'immagine: rilevare i pedoni e le biciclette a un incrocio.

Come è possibile compilare modelli usando Model Builder?

In genere, il processo di aggiunta di modelli di Machine Learning alle applicazioni è costituito da due passaggi: training e consumo.

Formazione

Il training è il processo di applicazione di algoritmi ai dati cronologici per creare un modello che acquisisce i modelli sottostanti. È quindi possibile usare il modello per fare previsioni sui nuovi dati.

Model Builder usa il processo di Machine Learning automatizzato (AutoML) di Azure per trovare il modello più adatto per i dati. AutoML consente di automatizzare il processo di applicazione dell'apprendimento automatico ai dati. È possibile eseguire un esperimento AutoML in un set di dati per eseguire un'iterazione su trasformazioni di dati diverse, algoritmi di apprendimento automatico e impostazioni e quindi selezionare il modello migliore.

Non è necessario avere competenze di Machine Learning per usare il generatore di modelli. Servono solo alcuni dati e un problema da risolvere.

Questo processo di training del modello comprende i passaggi seguenti:

  1. Scegliere uno scenario: qual è il problema che si sta tentando di risolvere? Lo scenario scelto dipende dai dati e da ciò che si sta tentando di prevedere.
  2. Scegliere un ambiente: dove si vuole eseguire il training del modello? A seconda delle risorse di calcolo disponibili, dei costi, dei requisiti di privacy e di altri fattori, è possibile scegliere di eseguire il training dei modelli in locale nel computer o nel cloud.
  3. Caricare i dati: caricare il set di dati da usare per il training. Definire le colonne da prevedere e quindi scegliere le colonne che si desidera usare come input per la previsione.
  4. Eseguire il training del modello: consente ad AutoML di scegliere l'algoritmo migliore per il set di dati in base allo scenario scelto.
  5. Valutare il modello: usare le metriche per valutare le prestazioni del modello e il modo in cui fa previsioni sui nuovi dati.

Consumo

Dopo aver eseguito il training di un modello di Machine Learning, è il momento di usarlo per fare previsioni. Il consumo è il processo di uso di un modello di Machine Learning sottoposto a training per fare previsioni sui dati nuovi e non visti in precedenza. Con Model Builder è possibile usare modelli di Machine Learning da progetti .NET nuovi ed esistenti.

I modelli di Machine Learning basati su ML.NET vengono serializzati e salvati in un file. Il file di modello può quindi essere caricato in qualsiasi applicazione .NET e usato per fare previsioni tramite API ML.NET. Questi tipi di applicazione includono:

  • API Web ASP.NET Core
  • Funzioni di Azure
  • Blazor
  • Windows Presentation Foundation (WPF) o Windows Form (WinForms)
  • Console
  • Libreria di classi

Nell'unità successiva si apprenderà il processo di training di un modello di Machine Learning in Model Builder.