Machine Learning (ML) è derivato da una parola d'ordine che è bello avere nella tua applicazione a una funzionalità indispensabile che funziona e aggiunge valore. I data scientist sviluppano modelli ML in vari framework ML come TensorFlow, Scikit-learn, PyTorch, Azure ML e così via. Prima che ML.NET diventasse disponibile per tutti gli sviluppatori, l'aggiunta della funzionalità ML alle applicazioni .NET richiedeva la conoscenza di alcuni framework ML per creare e addestrare modelli ML. Richiedeva inoltre tempo e sforzi aggiuntivi per integrare quel modello nelle applicazioni .NET.
ML.NET ha reso questo lavoro molto più semplice per gli sviluppatori .NET con Model Builder, un'estensione grafica di Visual Studio per creare, addestrare e distribuire modelli ML personalizzati. Utilizzando Model Builder di ML.NET e la sua funzionalità AutoML, gli sviluppatori che non hanno esperienza di machine learning, come me, possono comunque sviluppare e utilizzare modelli ML in pochi minuti.
Informazioni su ML.NET
Prima di addentrarci nel nostro esempio, parliamo un po' della cronologia di ML.NET e del suo stato attuale.
ML.NET trae le sue origini dal progetto Microsoft Research del 2002 denominato TMSN, che sta per "test di ricerca e navigazione nel mining". Successivamente è stato ribattezzato TLC, "il codice di apprendimento". ML.NET war derivato dalla libreria TLC. Inizialmente, veniva utilizzato su prodotti Microsoft interni.
La prima versione pubblicamente disponibile di ML.NET 1.0 è stata rilasciata nel 2019. Comprendeva il componente aggiuntivo Model Builder e le funzionalità AutoML (Automated Machine Learning).
La versione attuale è 1.6.0. Maggiori dettagli su tutte le versioni sono disponibili nella pagina ufficiale delle versioni di ML.NET.
Alcune attività che possiamo eseguire con ML.NET sono:
– Analisi del sentimento
– Raccomandazione del prodotto
– Previsione dei prezzi
– Segmentazione dei clienti
– Rilevamento di oggetti
– Rilevamento delle frodi
– Rilevamento dei picchi di vendita
– Classificazione delle immagini
– Previsioni di vendita
Installazione e configurazione
La versione minima richiesta di Visual Studio è 16.6.1. I passaggi seguenti vengono eseguiti in Visual Studio 16.9.2. Pertanto, se stai utilizzando una versione diversa, alcuni dettagli potrebbero essere diversi.
Installa ML.NET Model Builder
- Apri il programma di installazione di Visual Studio
- Controlla lo sviluppo desktop .NET opzione
- Nel riquadro di destra, espandi Sviluppo desktop .NET> expand Facoltativo > seleziona Generatore di modelli ML.NET (anteprima)
Nota:ML.NET Model Builder è disponibile su sviluppo multipiattaforma .NET opzione.
Abilita ML.NET Model Builder in Visual Studio
- Vai a Strumenti > Opzioni > Ambiente > Caratteristiche di anteprima
- Seleziona Abilita ML.NET Model Builder casella di controllo
Costruzione del modello ML
Fai clic con il pulsante destro del mouse sul progetto e seleziona Aggiungi > Apprendimento automatico
Seleziona uno scenario
Seleziona Classificazione del testo – aggiungeremo una semplice funzione di analisi del sentimento:
Seleziona Ambiente di formazione
Nel nostro caso, è una macchina locale.
Aggiungi dati
Utilizzeremo il file ZIP del set di dati UCI Sentiment Labeled Sentences disponibile per il download.
Seleziona l'output che vuoi prevedere
Nel nostro caso, è la seconda colonna, quindi selezioneremo col1 . Le colonne Input vengono selezionate automaticamente poiché abbiamo solo due colonne disponibili.
Forma il modello
Seleziona l'orario di allenamento e fai clic su Inizia allenamento :
Le immagini seguenti mostrano l'output e i risultati della formazione:
Valuta il modello
Se entriamo in Janice è stata gentile nell'input dei dati di esempio, l'output mostra che questa frase è positiva con una certezza del 100%:
Se entriamo in Janice è stata scortese nell'input dei dati di esempio, l'output mostra che questa frase non è positiva con una certezza del 100%:
Distribuire e utilizzare il modello ML
Non resta che utilizzare il modello che creiamo nella nostra applicazione. Dobbiamo aggiungere un riferimento al nostro progetto modello ML.
Inoltre, è necessario installare Microsoft.ML da NuGet.
Microsoft.ML supporta solo x64 e x86 architettura del processore. Pertanto, assicurati di selezionarne uno durante la creazione dell'app.
E questo è tutto. Qui possiamo vedere il nostro codice in azione.
Conclusione
L'intero processo dall'installazione di ML.NET alla prima applicazione con funzionalità ML può essere eseguito in pochi minuti. Naturalmente, è un esempio molto semplice con l'unico scopo di familiarizzare con il framework ML.NET. Tuttavia, anche senza esperienza precedente, potrei creare un'applicazione che, con alcune modifiche e miglioramenti, possa effettivamente funzionare in uno scenario reale.
Detto questo, ML.NET è uno strumento. Sarai in grado di usarlo in modo più efficiente con una maggiore conoscenza degli algoritmi e dei principi di apprendimento automatico.
Grazie per essere rimasto fino alla fine e spero che ti unirai a noi nel prossimo articolo su ML.NET.