Scegliere lo scenario e preparare i dati
In questa unità si apprenderà come scegliere uno scenario, selezionare un ambiente di training e preparare i dati per il training in Model Builder.
Avviare il processo di training
Per avviare il processo di training, è necessario aggiungere un nuovo elemento Modello di Machine Learning (ML.NET) a un'applicazione .NET nuova o esistente.
Suggerimento
La portabilità è uno dei vantaggi offerti dalle librerie di classi. Le librerie di classi semplificano il riferimento a tutti i modelli che ne fanno parte e che derivano da console, desktop, Web e da qualsiasi altro tipo di applicazione .NET. È consigliabile aggiungere gli elementi di Modello di Machine Learning (ML.NET) a una libreria di classi.
L'elemento Modello di Machine Learning (ML.NET) aggiunge un file con estensione MBCONFIG al progetto. I file che usano l'estensione MBCONFIG sono file di configurazione di Model Builder creati in JSON. Questi file consentono di:
- Specificare un nome per il modello.
- Collaborare con altri utenti del team tramite il controllo del codice sorgente.
- Salvare in modo permanente lo stato. Se in qualsiasi momento del processo di training è necessario chiudere Model Builder, lo stato viene salvato ed è possibile riprendere da dove si è interrotto.
Scegliere uno scenario
Il primo passaggio per eseguire il training di un modello di Machine Learning consiste nel decidere quale scenario e attività di Machine Learning sono i più appropriati, considerata la stima che si vuole eseguire.
Che cos'è uno scenario?
Uno scenario descrive il problema che si sta tentando di risolvere usando i dati. Gli scenari comuni includono quelli elencati nell'unità precedente:
- 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.
- Classificazione delle immagini: contrassegnare un'immagine in base al contenuto.
- Consigli sugli elementi: consigliare i film.
- Rilevamento di oggetti in un'immagine: rilevare i pedoni e le biciclette a un incrocio.
Gli scenari vengono mappati in base alle attività di Machine Learning. Un'attività di Machine Learning è il tipo di stima o inferenza che deve essere effettuata, in base al problema o alla domanda che viene posta e ai dati disponibili.
Le attività di Machine Learning rientrano, in genere, in due categorie:
- Supervisione eseguita
- Supervisione non eseguita
La differenza principale tra di esse è se l'etichetta o il valore che si sta tentando di stimare, è noto o meno.
Per le attività con supervisione, l'etichetta è nota. Esempi di attività di Machine Learning con supervisione includono:
- Classificazione
- Binarie (due categorie)
- Multiclasse (due o più categorie)
- Immagine
- Regressione
Per le attività senza supervisione, l'etichetta è sconosciuta. Esempi di attività di Machine Learning senza supervisione includono:
- Clustering
- Rilevamento anomalie
Scenari supportati in Model Builder
Model Builder supporta gli scenari seguenti che vengono mappati rispetto alle attività di Machine Learning:
Scenario | Attività di Machine Learning | Caso d'uso |
---|---|---|
Classificazione dei dati | Classificazione binaria e multiclasse | Organizzare articoli per argomento. |
Previsione di valori | Regressione lineare | Stimare il prezzo di una casa in base alle caratteristiche della casa. |
Classificazione immagini | Classificazione immagini (Deep Learning) | Organizzare immagini per specie animali in base al contenuto di un'immagine. |
Elemento consigliato | Elemento consigliato | Consigliare i film in base alle preferenze di utenti simili. |
Rilevamento oggetti | Rilevamento oggetti (Deep Learning) | Identificare i danni fisici in un'immagine. |
Scelta di uno scenario per la manutenzione predittiva
A seconda dell'aspetto dei dati, il problema della manutenzione predittiva può essere modellato tramite attività diverse. Per il caso d'uso, poiché l'etichetta è un valore binario (0 o 1) che descrive se una macchina è danneggiata o meno, lo scenario di classificazione dei dati è appropriato.
Scegliere l'ambiente
Dopo aver selezionato la classificazione dei dati, si deve scegliere l'ambiente in cui si vuole eseguire il training del modello di Machine Learning. Gli ambienti descrivono le risorse di calcolo che verranno usate per eseguire il training del modello di Machine Learning.
Ambienti supportati in Model Builder
Model Builder supporta le opzioni di ambiente seguenti:
Scenario | CPU locale | GPU locale | GPU di Azure |
---|---|---|---|
Classificazione dei dati | ✔ | ❌ | ❌ |
Previsione di valori | ✔ | ❌ | ❌ |
Classificazione immagini | ✔ | ✔ | ✔ |
Elemento consigliato | ✔ | ❌ | ❌ |
Rilevamento oggetti | ❌ | ❌ | ✔ |
A seconda del caso d'uso, esistono vari motivi per cui è possibile scegliere un ambiente locale o di Azure.
Ambienti locali
I motivi per cui si dovrebbero considerare gli ambienti di calcolo locali includono:
- Il training in locale non prevede costi aggiuntivi perché si usano le risorse del computer.
- Non si vuole che i dati lascino il computer o il data center.
Ambienti Azure
Gli scenari come la classificazione immagini e il rilevamento oggetti richiedono un utilizzo elevato delle risorse. L'uso di una GPU può spesso velocizzare il processo di training. Se non si dispone di una GPU o di un computer con CPU o RAM sufficienti, l'offload del processo di training in Azure può alleggerire il carico nel sistema.
Caricare e preparare i propri dati
Dopo aver selezionato lo scenario e l'ambiente di training, è necessario caricare e preparare i dati.
I dati sono il componente più importante per la creazione di modelli di Machine Learning. Il processo di caricamento dei dati in Model Builder è costituito da tre passaggi:
- Scegliere il tipo di origine dati.
- Specificare il percorso dei propri dati.
- Scegliere lo scopo della colonna.
Scegliere il tipo di origine dati
A seconda dello scenario, Model Builder supporta il caricamento dei dati dalle origini seguenti:
- File delimitati (virgola, punto e virgola e TAB)
- Database SQL Server locali e remoti
- Immagini (.jpg e .png)
Specificare il percorso dei propri dati
Dopo aver selezionato il tipo di origine dati, è necessario specificare la posizione in cui è archiviato il set di dati. Questo percorso può essere una directory, un percorso di file o una stringa di connessione del database. Dipende dallo scenario e dal tipo di origine dati selezionato.
Quando un'origine dati viene selezionata in Model Builder, questa analizza i dati e si impegna al massimo per identificare:
- Intestazioni e nomi di colonna
- Separatore delle colonne
- Tipo di dati colonna
- Scopo della colonna
- Separatori decimali
Dopo il caricamento dei dati, Model Builder visualizza un'anteprima di alcuni elementi nel set di dati.
Scegliere lo scopo della colonna
A seconda dello scenario scelto, è necessario definire lo scopo di determinate colonne. In scenari come la classificazione dei dati e la stima dei valori, è necessario scegliere quale colonna si desidera stimare (etichetta).
Per impostazione predefinita, tutte le altre colonne che non sono etichette vengono usate come funzionalità. Le funzionalità sono colonne usate come input per stimare l'etichetta.
Opzioni di dati avanzate
Per personalizzare la modalità di caricamento dei dati, Model Builder offre opzioni avanzate per i dati. Queste opzioni consentono di personalizzare le impostazioni relative alle colonne e alla formattazione del set di dati.
Per le colonne, è possibile scegliere le impostazioni seguenti:
- Scopo: la colonna deve essere una funzionalità, un'etichetta o deve essere ignorata? È possibile selezionare una sola colonna come etichetta.
- Tipo di dati: il valore è un valore float a precisione singola, una stringa o un valore booleano?
- Categorie: la colonna rappresenta un valore categorico (ad esempio: basso, medio o alto)?
Per formattare i dati, è possibile scegliere se i dati contengono intestazioni di colonna, il separatore di colonna (virgola, punto e virgola o TAB) e il tipo separatore decimale (punto o virgola).
Informazioni sul set di dati di manutenzione predittiva
Il set di dati usato in questo modulo è il set di dati di manutenzione predittiva AI4I 2020. Questo set di dati sintetico riflette i dati di manutenzione predittiva reali rilevati nel settore. È costituito da 10.000 punti dati e da 14 colonne. Deriva da:
Explainable Artificial Intelligence for Predictive Maintenance Applications, Stephan Matzka, Terza conferenza internazionale sull'Intelligenza artificiale per l'industria (AI4I 2020), 2020 (in stampa), contenuto nell'UCI Machine Learning Repository - Dua, D. e Graff, C. (2019). UCI Machine Learning Repository http://archive.ics.uci.edu/ml. Irvine, CA: University of California, School of Information and Computer Science.
Ecco un'anteprima dell'aspetto dei dati:
UDI | ID prodotto | Type | Temperatura dell'aria [K] | Temperatura del processo [K] | Velocità rotazionale [rpm] | Coppia [Nm] | Usura degli strumenti [min] | Errore della macchina | TWF | HDF | PWF | OSF | RNF |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | M14860 | M | 298,1 | 308,6 | 1551 | 42,8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
162 | L47341 | L | 298,3 | 308,1 | 1412 | 52,3 | 218 | 1 | 0 | 0 | 0 | 1 | 0 |
Le colonne sono definite come segue:
- UDI: indice della riga.
- ID prodotto: identificatore del prodotto che contiene una categoria del tipo di prodotto e un numero di serie specifico della variante.
- Tipo: categoria della qualità del prodotto. I valori sono L (basso; 50% di tutti i prodotti), M (medio; 30%) o H (alto; 20%).
- Temperatura dell'aria [K], Temperatura del processo [K], Velocità rotazionale [rpm], Coppia [Nm], Usura degli strumenti [min]: valori raccolti dai sensori.
- Errore della macchina: etichetta binaria (0 o 1) che indica se il computer presenta un errore.
- TWF, HDF, PWF, OSF, RNF: modalità di errore della macchina indipendente. Il valore 1 indica che si è verificata la rispettiva modalità di errore.
Per questo scenario, non si useranno tutte le colonne nel set di dati perché non danno informazioni sulla stima né contengono informazioni ridondanti.
Poiché si vuole prevedere se una macchina funzionerà o meno, la colonna Errore della macchina è l'etichetta. In Model Builder per le funzionalità è possibile usare i dati delle colonne ID prodotto, Tipo e dei vari sensori.
Anche se le modalità di errore sono utili per diagnosticare la causa radice di un errore, non sono utili per il caso d'uso. Il motivo è che si vuole sapere solo se una macchina presenta un errore o meno. Inoltre, informazioni simili sono già state acquisite dalla colonna Errore della macchina. È quindi possibile ignorare queste colonne.
Passare all'unità successiva per verificare le proprie conoscenze su scenari, ambienti e preparazione dei dati.