Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'interfaccia della riga di comando di ML.NET automatizza la generazione di modelli per gli sviluppatori .NET.
Per usare l'API ML.NET da sola( senza l'interfaccia della riga di comando di AutoML ML.NET) è necessario scegliere un formatore (implementazione di un algoritmo di Machine Learning per una determinata attività) e il set di trasformazioni dei dati (progettazione delle funzionalità) da applicare ai dati. La pipeline ottimale varia per ogni set di dati e la selezione dell'algoritmo ottimale da tutte le scelte aggiunge alla complessità. Inoltre, ogni algoritmo ha un set di iperparametri da ottimizzare. Di conseguenza, è possibile dedicare settimane e talvolta mesi all'ottimizzazione del modello di Machine Learning cercando di trovare le combinazioni migliori di progettazione delle funzionalità, algoritmi di apprendimento e iperparametri.
L'interfaccia della riga di comando ML.NET semplifica questo processo usando Machine Learning automatizzato (AutoML).
Annotazioni
Questo articolo si riferisce a ML.NET CLI e ML.NET AutoML, che sono attualmente in anteprima e il materiale è soggetto a modifiche.
Che cos'è l'interfaccia della riga di comando ML.NET?
L'interfaccia della riga di comando di ML.NET è uno strumento .NET. Dopo l'installazione, si assegna un'attività di Machine Learning e un set di dati di training e genera un modello di ML.NET, nonché il codice C# da eseguire per usare il modello nell'applicazione.
Come illustrato nella figura seguente, è semplice generare un modello di ML.NET di alta qualità (file .zip modello serializzato) più il codice C# di esempio per eseguire/assegnare un punteggio a tale modello. Inoltre, viene generato anche il codice C# per creare/eseguire il training del modello, in modo da poter eseguire ricerche e iterazioni sull'algoritmo e sulle impostazioni usate per il "modello migliore".
È possibile generare tali asset dai propri set di dati senza scrivere codice manualmente, in modo da migliorare anche la produttività anche se si conosce già ML.NET.
Attualmente, le attività di Machine Learning supportate dall'interfaccia della riga di comando di ML.NET sono:
- classificazione
- Regressione
- suggerimento
- Classificazione immagini
- previsione
- treno
L'interfaccia della riga di comando ML.NET può essere installata in base al sistema operativo e alla relativa architettura con il comando seguente:
dotnet tool install --global mlnet-<OS>-<ARCH>
Ad esempio, è possibile installare la versione x64 di Windows con:
dotnet tool install --global mlnet-win-x64
Per altre informazioni, vedere la guida pratica Installare l'interfaccia della riga di comando di ML.NET .
Esempio di utilizzo (scenario di classificazione):
mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10
È anche disponibile un comando in cui è possibile eseguire il training usando un file mbconfig . Il file mbconfig viene creato all'avvio di una sessione di Model Builder.
È possibile eseguirlo nello stesso modo in Windows PowerShell, macOS/Linux bash o CMD Di Windows. Tuttavia, il completamento automatico tabulare (suggerimenti di parametri) non funzionerà in CMD di Windows.
Asset di output generati
I comandi di attività di ML nell'interfaccia della riga di comando generano gli asset seguenti nella cartella di output.
- Soluzione C# con:
- Un'app console per eseguire/assegnare un punteggio al modello generato (per eseguire stime nelle app dell'utente finale con tale modello).
- Un'applicazione console con il codice di training usato per generare tale modello (a scopo di apprendimento o riaddestramento del modello).
- Questo modello serializzato ("modello migliore") viene fornito anche come file compresso .zip pronto per l'uso per l'esecuzione di stime.
- File mbconfig che contiene i dati di configurazione che consentono di aprire il modello in Generatore modelli.
- File di log con informazioni su tutte le iterazioni/sweep tra più algoritmi valutati, inclusa la configurazione/pipeline dettagliata.
I primi due asset possono essere usati direttamente nelle app degli utenti finali (ad esempio, ASP.NET app Web, servizi e app desktop core) per eseguire stime con il modello di Machine Learning generato.
Il terzo asset, il codice di training, mostra il codice API ML.NET usato dal CLI per eseguire il training del modello generato, in modo da poter riaddestrare il modello e esaminare quale specifico trainer/algoritmo e iperparametri sono stati selezionati dal CLI e AutoML dietro le scene.
Informazioni sulla qualità del modello
Quando si genera un "modello migliore" con lo strumento CLI, vengono visualizzate metriche di qualità (ad esempio accuratezza e R quadro) appropriate per l'attività di apprendimento automatico di destinazione.
In questo caso queste metriche sono riepilogate raggruppate per attività ml, in modo da poter comprendere la qualità del "modello migliore" generato automaticamente.
Metriche per i modelli di classificazione
L'immagine seguente mostra l'elenco delle metriche di classificazione per i primi cinque modelli trovati dall'interfaccia della riga di comando:
L'accuratezza è una metrica comune per i problemi di classificazione, ma l'accuratezza non è sempre la metrica migliore da cui selezionare il modello migliore, come illustrato nei riferimenti seguenti. In alcuni casi è necessario valutare la qualità del modello con metriche aggiuntive.
Per esplorare e comprendere le metriche restituite dall'interfaccia della riga di comando, vedere Metriche di valutazione per la classificazione.
Metriche per i modelli di regressione e raccomandazione
Un modello di regressione si adatta bene ai dati se le differenze tra i valori osservati e i valori stimati del modello sono piccoli e non distorti. La regressione può essere valutata con determinate metriche.
Verrà visualizzato un elenco simile di metriche per i cinque modelli di qualità principali trovati dall'interfaccia della riga di comando, ad eccezione di questo caso, i primi cinque sono correlati a un'attività di Machine Learning di regressione:
Per esplorare e comprendere le metriche restituite dall'interfaccia della riga di comando, vedere Metriche di valutazione per la regressione.