Questa è un'introduzione ai percorsi dei dati tabulari con AutoML. Per comprendere le principali differenze tra AutoML e l'addestramento personalizzato, consulta Scegliere un metodo di addestramento.
Casi d'uso dei dati tabulari
Immagina di lavorare nel reparto marketing di un rivenditore digitale. Tu e il tuo team
state creando un programma email personalizzato in base ai clienti tipo. Hai creato le persone
e le email di marketing sono pronte. Ora devi creare un sistema che raggruppi i clienti
in ogni persona in base alle preferenze di acquisto e al comportamento di spesa, anche se si tratta di nuovi
clienti. Per massimizzare il coinvolgimento dei clienti, devi anche prevedere le loro abitudini di spesa in modo da ottimizzare il momento in cui inviare le email.
Poiché sei un rivenditore digitale, disponi di dati sui tuoi clienti e sugli acquisti che hanno effettuato. E i nuovi clienti? Gli approcci tradizionali possono calcolare questi valori per i clienti esistenti con lunghe cronologie acquisti, ma non sono efficaci per i clienti con pochi dati storici. E se potessi creare un sistema per prevedere questi valori e aumentare la velocità con cui offri programmi di marketing personalizzati a tutti i tuoi clienti?
Fortunatamente, il machine learning e Vertex AI sono ben posizionati per risolvere questi problemi.
Questa guida illustra il funzionamento di Vertex AI per i set di dati e i modelli AutoML e illustra i tipi di problemi che Vertex AI è progettato per risolvere.
Come funziona Vertex AI?
Vertex AI applica il machine learning supervisionato per ottenere un risultato desiderato.
Le specifiche dell'algoritmo e dei metodi di addestramento variano in base al tipo di dati e al caso d'uso. Esistono molte sottocategorie diverse di machine learning, tutte le quali risolvono problemi diversi e operano in base a vincoli diversi.
Addestrare un modello di machine learning con dati di esempio. Vertex AI
utilizza i dati tabulari (strutturati) per addestrare un modello di machine learning per fare
previsioni sulla base di nuovi dati. Il modello imparerà a fare previsioni sui dati di una singola colonna del set di dati, chiamata target. Alcune delle altre colonne di dati sono gli input (chiamati caratteristiche) da cui il modello apprenderà i pattern. Puoi
utilizzare le stesse caratteristiche di input per creare diversi tipi di modelli, semplicemente cambiando
la colonna target e le opzioni di addestramento. Nell'esempio di email marketing,
significa che puoi creare modelli con le stesse caratteristiche di input, ma con diverse
previsioni del target. Un modello potrebbe prevedere la persona di un cliente (un
target categorico), un altro la sua spesa mensile (un
target numerico) e un altro ancora la domanda giornaliera dei tuoi prodotti
per i tre mesi successivi (serie di target numerici).
Flusso di lavoro Vertex AI
Vertex AI utilizza un flusso di lavoro di machine learning standard:
- Raccogli i dati: determina i dati di cui hai bisogno per addestrare e testare il tuo modello in base al risultato che vuoi ottenere.
- Prepara i dati: assicurati che siano formattati e etichettati correttamente.
- Addestramento: imposta i parametri e crea il modello.
- Valuta: esamina le metriche del modello.
- Esegui il deployment e fai una previsione: rendi il tuo modello disponibile per l'utilizzo.
Tuttavia, prima di iniziare a raccogliere i dati, devi pensare al problema che stai cercando di risolvere. In questo modo potrai definire i requisiti dei dati.
Preparazione dei dati
Valuta il tuo caso d'uso
Inizia dal problema: qual è il risultato che vuoi ottenere?
Di che tipo di dati è composta la colonna di destinazione? A quanti dati hai accesso? A seconda delle tue risposte, Vertex AI crea il modello necessario per risolvere il tuo caso d'uso:
- I modelli di classificazione binaria prevedono un esito binario (una di due classi). Utilizza questo tipo di modello per le domande con risposta sì o no. Ad esempio, potresti volere costruire un modello di classificazione binaria per prevedere se un cliente acquisterà un abbonamento. In genere, un problema di classificazione binaria richiede meno dati rispetto ad altri tipi di modelli.
- I modelli di classificazione multi-classe prevedono una classe da tre o più classi discrete. Utilizza questo tipo di modello per la classificazione. Ad esempio, come rivenditore, potresti voler creare un modello di classificazione multi-classe per segmentare i clienti in diversi profili.
- I modelli di regressione prevedono un valore continuo. Ad esempio, in qualità di rivenditore, potresti voler creare un modello di regressione per prevedere quanto spenderà un cliente il mese successivo.
- I modelli di previsione prevedono una sequenza di valori. Ad esempio, come rivenditore, potresti voler prevedere la domanda giornaliera dei tuoi prodotti per i tre mesi successivi in modo da poter rifornire in anticipo gli inventari dei prodotti in modo appropriato.
La previsione sui dati tabulari è diversa dalla classificazione e dalla regressione in due modi fondamentali:
Nella classificazione e nella regressione, il valore previsto del target dipende solo dai valori delle colonne delle funzionalità nella stessa riga. Nella previsione, i valori previsti dipendono anche dai valori di contesto del target e degli elementi.
Nei problemi di regressione e classificazione, l'output è un valore. Nei problemi di previsione, l'output è una sequenza di valori.
Raccogli i dati
Dopo aver stabilito il caso d'uso, devi raccogliere i dati che ti consentono di creare il modello che preferisci.
Dopo aver stabilito il caso d'uso, dovrai raccogliere i dati per addestrare il modello. L'acquisizione e la preparazione dei dati sono passaggi fondamentali per creare un modello di machine learning. I dati a tua disposizione indicano il tipo di problemi che puoi risolvere. Quanti dati hai a disposizione? I tuoi dati sono pertinenti alle domande a cui stai cercando di rispondere? Durante la raccolta dei dati, tieni presenti le seguenti considerazioni chiave.
Seleziona le funzionalità pertinenti
Una funzionalità è un attributo di input utilizzato per l'addestramento del modello. Le caratteristiche consentono al modello di identificare i pattern per fare previsioni, quindi devono essere pertinenti al problema. Ad esempio, per creare un modello che preveda se una transazione con carta di credito è fraudolenta o meno, devi creare un set di dati contenente i dettagli della transazione, come acquirente, venditore, importo, data e ora e articoli acquistati. Altre funzionalità utili potrebbero essere informazioni storiche sull'acquirente e sul venditore e la frequenza con cui l'articolo acquistato è stato coinvolto in attività fraudolente. Quali altre funzionalità potrebbero essere pertinenti?
Prendi in considerazione il caso d'uso di email marketing per la vendita al dettaglio riportato nell'introduzione. Ecco alcune colonne di funzionalità che potresti richiedere:
- Elenco di articoli acquistati (inclusi brand, categorie, prezzi, sconti)
- Numero di articoli acquistati (ultimo giorno, settimana, mese, anno)
- Somma di denaro spesa (ultimo giorno, settimana, mese, anno)
- Per ogni articolo, il numero totale di articoli venduti ogni giorno
- Per ogni articolo, il totale disponibile ogni giorno
- Se stai pubblicando una promozione per un giorno specifico
- Profilo demografico noto dello shopper
Includi dati sufficienti
In generale, più sono gli esempi di addestramento, migliore sarà il risultato. La quantità di dati di esempio richiesti varia anche in base alla complessità del problema che stai cercando di risolvere. Non avrai bisogno di così tanti dati per ottenere un modello di classificazione binario accurato rispetto a un modello multi-classe perché è meno complicato prevedere una classe da due anziché da molte.
Non esiste una formula perfetta, ma esistono quantità minime consigliate di dati di esempio:
- Problema di classificazione: 50 righe x il numero di funzionalità
- Problema di previsione:
- 5000 righe x il numero di elementi
- 10 valori univoci nella colonna dell'identificatore della serie temporale x il numero di elementi
- Problema di regressione: 200 x il numero di elementi
Acquisisci variante
Il set di dati deve rispecchiare la diversità dello spazio dei problemi. Più esempi diversi vengono mostrati a un modello durante l'addestramento, più facilmente può generalizzarsi a esempi nuovi o meno comuni. Immagina se il tuo modello di vendita al dettaglio fosse stato addestrato utilizzando solo i dati di acquisto invernali. Riuscirebbe a prevedere con successo le preferenze o i comportamenti di acquisto per l'abbigliamento estivo?
Preparare i dati
Dopo aver identificato i dati disponibili, devi assicurarti che siano pronti per l'addestramento. Se i dati sono parziali o contengono valori mancanti o errati, la qualità del modello ne risente. Prendi in considerazione quanto segue prima di iniziare ad addestrare il modello. Scopri di più.
Evita la fuga di dati e il disallineamento tra addestramento e distribuzione
La fuga di dati si verifica quando utilizzi le funzionalità di input durante l'addestramento che "rilasciano" informazioni sul target che stai cercando di prevedere e che non è disponibile quando il modello viene effettivamente pubblicato. Questo può essere rilevato quando una funzionalità altamente correlata alla colonna di destinazione è inclusa come una delle funzionalità di input. Ad esempio, se stai creando un modello per prevedere se un cliente sottoscriverà un abbonamento il mese successivo e una delle funzionalità di input è un pagamento futuro dell'abbonamento da parte del cliente. Ciò può portare a un ottimo rendimento del modello durante i test, ma non quando viene implementato in produzione, poiché i dati di pagamento per gli abbonamenti futuri non sono disponibili al momento della pubblicazione.
Il disallineamento addestramento/produzione si verifica quando le funzionalità di input utilizzate durante l'addestramento sono diverse da quelle fornite al modello al momento della pubblicazione, causando una scarsa qualità del modello in produzione. Ad esempio, creare un modello per prevedere le temperature orarie, ma addestrarlo con dati che contengono solo temperature settimanali. Un altro esempio: fornire sempre i voti di uno studente nei dati di addestramento quando si prevede l'abbandono scolastico, ma non fornire queste informazioni al momento della pubblicazione.
Comprendere i dati di addestramento è importante per evitare la fuga di dati e il disallineamento tra addestramento e distribuzione:
- Prima di utilizzare qualsiasi dato, assicurati di sapere cosa significano e se devi o meno utilizzarli come funzionalità
- Controlla la correlazione nella scheda Addestramento. Le correlazioni elevate devono essere segnalate per la revisione.
- Disallineamento addestramento/produzione: assicurati di fornire al modello solo le funzionalità di input disponibili nello stesso identico formato al momento della pubblicazione.
Pulire i dati mancanti, incompleti e incoerenti
È normale che nei dati di esempio siano presenti valori mancanti e inesatti. Prenditi il tempo di esaminare e, se possibile, migliorare la qualità dei dati prima di utilizzarli per l'addestramento. Maggiore è il numero di valori mancanti, meno utili saranno i dati per l'addestramento di un modello di machine learning.
- Controlla se nei dati sono presenti valori mancanti e correggili, se possibile, oppure lascia vuoto il valore se la colonna è impostata come nullable. Vertex AI può gestire i valori mancanti, ma è più probabile che tu ottenga risultati ottimali se sono disponibili tutti i valori.
- Per le previsioni, verifica che l'intervallo tra le righe di addestramento sia coerente. Vertex AI può imputare i valori mancanti, ma è più probabile che tu ottenga risultati ottimali se sono disponibili tutte le righe.
- Pulisci i dati correggendo o eliminando gli errori o il rumore. Rendi coerenti i dati: controlla l'ortografia, le abbreviazioni e la formattazione.
Analizzare i dati dopo l'importazione
Vertex AI fornisce una panoramica del set di dati dopo l'importazione. Esamina il set di dati importato per assicurarti che ogni colonna abbia il tipo di variabile corretto. Vertex AI rileverà automaticamente il tipo di variabile in base ai valori delle colonne, ma è meglio esaminarle tutte. Devi anche esaminare la nullabilità di ogni colonna, che determina se una colonna può avere valori mancanti o NULL.
Addestramento del modello
Dopo aver importato il set di dati, il passaggio successivo consiste nell'addestrare un modello. Vertex AI genererà un modello di machine learning affidabile con i valori predefiniti per l'addestramento, ma ti consigliamo di modificare alcuni dei parametri in base al tuo caso d'uso.
Cerca di selezionare il maggior numero possibile di colonne di funzionalità per l'addestramento, ma esaminale tutte per assicurarti che sia appropriata per l'addestramento. Tieni presente quanto segue per la selezione delle funzionalità:
- Non selezionare colonne di funzionalità che generano rumore, ad esempio colonne di identificatori assegnati in modo casuale con un valore univoco per ogni riga.
- Assicurati di comprendere ogni colonna delle funzionalità e i relativi valori.
- Se stai creando più modelli da un set di dati, rimuovi le colonne di destinazione che non fanno parte dell'attuale problema di previsione.
- Ricorda i principi di equità: stai addestrando il tuo modello con una funzionalità che potrebbe portare a decisioni biased o ingiuste per i gruppi emarginati?
Come Vertex AI utilizza il tuo set di dati
Il set di dati verrà suddiviso in set di addestramento, convalida e test. La suddivisione predefinita applicata da Vertex AI dipende dal tipo di modello che stai addestrando. Se necessario, puoi anche specificare le suddivisioni (suddivisioni manuali). Per ulteriori informazioni, consulta Informazioni sulle suddivisioni di dati per i modelli AutoML.
Set di addestramento
La maggior parte dei dati dovrebbe essere presente nel set di addestramento. Questi sono i dati che il modello "vede" durante l'addestramento: vengono utilizzati per apprendere i parametri del modello, ossia i pesi delle connessioni tra i nodi della rete neurale.
Set di convalida
Il set di convalida, talvolta chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Dopo che i dati di addestramento sono stati incorporati durante ogni iterazione del processo di addestramento, il framework di apprendimento del modello utilizza le prestazioni del modello sul set di convalida per ottimizzarne gli iperparametri, che sono variabili che specificano la struttura del modello. Se si cercasse di utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finirebbe per concentrarsi eccessivamente sui dati di addestramento e avrebbe difficoltà a generalizzare in base a esempi che non corrispondono esattamente. L'utilizzo di un set di dati nuovo per ottimizzare la struttura del modello consente una migliore generalizzazione da parte del modello.
Set di test
Il set di test non è coinvolto in nessun modo nel processo di addestramento. Al termine dell'addestramento del modello, Vertex AI utilizza il set di test come risorsa di verifica completamente nuova per il modello. Le prestazioni del modello in base al set di test hanno lo scopo di dare un'idea abbastanza precisa di come il modello si comporterà utilizzando dati reali.
Valuta, testa ed esegui il deployment del modello
Valuta il modello
Dopo l'addestramento del modello, riceverai un riepilogo delle relative prestazioni. Le metriche di valutazione del modello si basano sul rendimento del modello rispetto a un'estrazione del set di dati (il set di dati di test). Esistono alcune metriche e alcuni concetti chiave da considerare per determinare se il modello è pronto per essere utilizzato con dati reali.
Metriche di classificazione
Soglia punteggio
Prendiamo in considerazione un modello di machine learning che prevede se un cliente acquisterà una giacca nel prossimo anno. Quanto deve essere attendibile il modello prima di prevedere che un determinato cliente acquisterà un'ecopelle? Nei modelli di classificazione, a ogni previsione viene assegnato un punteggio di affidabilità, ovvero una valutazione numerica del livello di certezza del modello che la classe prevista sia corretta. La soglia di punteggio è il numero che determina quando un determinato punteggio viene convertito in una decisione di sì o no, ovvero il valore a cui il modello dice "sì, questo punteggio di attendibilità è sufficientemente elevato per concludere che questo cliente acquisterà un cappotto entro il prossimo anno".
Se la soglia del punteggio è bassa, il modello rischia di eseguire una classificazione errata. Per questo motivo, la soglia del punteggio deve essere basata su un determinato caso d'uso.
Risultati della previsione
Dopo aver applicato la soglia di punteggio, le previsioni effettuate dal modello rientrano in una delle quattro categorie. Per comprendere queste categorie, immagina di nuovo un modello di classificazione binaria per giacche. In questo esempio, la classe positiva (ciò che il modello sta tentando di prevedere) è che il cliente acquisterà una giacca nel prossimo anno.
- Vero positivo: il modello prevede correttamente la classe positiva. Il modello ha previsto correttamente che un cliente ha acquistato una giacca.
- Falso positivo: il modello prevede erroneamente la classe positiva. Il modello ha previsto che un cliente ha acquistato una giacca, ma non l'ha fatto.
- Vero negativo: il modello prevede correttamente la classe negativa. Il modello ha previsto correttamente che un cliente non ha acquistato una giacca.
- Falso negativo: il modello prevede erroneamente una classe negativa. Il modello ha previsto che un cliente non ha acquistato una giacca, ma lo ha fatto.
Precisione e richiamo
Le metriche di precisione e richiamo ti aiutano a capire se il modello sta acquisendo informazioni adeguate e cosa sta tralasciando. Scopri di più su precisione e richiamo.
- Per precisione si intende la frazione delle previsioni positive che sono risultate corrette. Tra tutte le previsioni di acquisto di un cliente, qual è la frazione di acquisti effettivi?
- Per richiamo si intende la frazione delle righe con questa etichetta che sono state previste correttamente dal modello. Tra tutte le previsioni che un cliente potrebbe aver identificato, qual è la frazione prevista correttamente?
A seconda del caso d'uso, potrebbe essere necessario ottimizzare la precisione o il richiamo.
Altre metriche di classificazione
- AUC PR: l'area sotto la curva di precisione-richiamo (PR). Il valore va da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
- AUC ROC: l'area sotto la curva della caratteristica operativa del ricevitore (ROC). L'intervallo varia da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
- Precisione: la frazione delle previsioni di classificazione prodotte dal modello che sono risultate corrette.
- Perdita logaritmica: l'entropia incrociata tra le previsioni del modello e i valori target. L'intervallo va da zero a infinito, dove un valore inferiore indica un modello di qualità migliore.
- Punteggio F1: la media armonica di precisione e richiamo. F1 è una metrica utile per trovare un equilibrio tra precisione e richiamo qualora esista una distribuzione non uniforme delle classi.
Metriche di previsione e regressione
Una volta creato il modello, Vertex AI fornisce una serie di metriche standard da esaminare. Non esiste una risposta perfetta su come valutare il modello. Considera le metriche di valutazione nel contesto del tipo di problema e di ciò che vuoi ottenere con il modello. L'elenco seguente è una panoramica di alcune metriche che Vertex AI può fornire.
Errore assoluto medio (MAE)
Il MAE (Mean Absolute Error) indica la differenza media assoluta tra i valori target e quelli previsti. Misura la portata media degli errori (la differenza tra il valore target e quello previsto) in un insieme di previsioni. Inoltre, poiché utilizza valori assoluti, il MAE non prende in considerazione la direzione della relazione né indica se le prestazioni sono migliori o peggiori. Quando si valuta il MAE, un valore minore indica un modello di qualità superiore (in cui 0 rappresenta un predittore perfetto).
Errore quadratico medio (RMSE)
L'RMSE (errore quadratico medio) è la radice quadrata della media dei quadrati delle differenze tra i valori di destinazione e quelli previsti. L'RMSE è più sensibile agli outlier rispetto al MAE. Di conseguenza, se la preoccupazione principale riguarda gli errori di grande entità, l'RMSE può essere una metrica più utile da valutare. Analogamente al MAE, un valore minore indica un modello di qualità migliore (0 rappresenta un predittore perfetto).
Errore logaritmico quadratico medio (RMSLE)
L'RMSLE è l'equivalente in scala logaritmica dell'errore quadratico medio (RMSE). L'RMSLE è più sensibile agli errori relativi rispetto a quelli assoluti e tiene conto maggiormente del rendimento insoddisfacente rispetto a quello eccessivo.
Quantile osservato (solo previsione)
Per un determinato quantile target, il quantile osservato mostra la frazione effettiva dei valori osservati al di sotto dei valori di previsione del quantile specificati. Il quantile osservato mostra quanto il modello è lontano o vicino al quantile target. Una differenza minore tra i due valori indica un modello di qualità migliore.
Perdita di pinball scalata (solo previsione)
Misura la qualità di un modello in un determinato quantile target. Un numero inferiore indica un modello di qualità migliore. Puoi confrontare la metrica della perdita di pinball scalata in quantili diversi per determinare l'accuratezza relativa del tuo modello tra questi quantili diversi.
Testa il tuo modello
La valutazione delle metriche del modello è il modo principale per determinare se il modello è pronto per la distribuzione, ma è anche possibile testarlo con nuovi dati. Carica nuovi dati per vedere se le sue previsioni corrispondono alle tue aspettative. In base alle metriche di valutazione o ai test con nuovi dati, potrebbe essere necessario continuare a migliorare le prestazioni del modello.
Esegui il deployment del modello
Se ritieni che le prestazioni del modello vadano bene, puoi iniziare a utilizzarlo. Potrebbe essere utilizzato in produzione o potrebbe essere una richiesta di previsione una tantum. In base al caso d'uso, puoi usare il modello in vari modi.
Previsione batch
La previsione batch è utile per fare molte richieste di previsione contemporaneamente. La previsione batch è asincrona, il che significa che il modello attende di elaborare tutte le richieste di previsione prima di restituire un file CSV o una tabella BigQuery con i valori della previsione.
Previsione online
Usa un'API REST per distribuire il modello in modo da renderlo disponibile per le richieste di previsione. La previsione online è sincrona (in tempo reale), il che significa che restituirà rapidamente i risultati, ma accetta una sola richiesta di previsione per ogni chiamata API. La previsione online è utile se il modello fa parte di un'applicazione e alcune parti del tuo sistema dipendono da risposte rapide restituite dalle previsioni.
Esegui la pulizia
Per evitare addebiti indesiderati, annulla il deployment del modello quando non è in uso.
Al termine dell'utilizzo del modello, elimina le risorse che hai creato per evitare addebiti indesiderati sul tuo account.
- Introduzione ai dati di immagine: pulizia del progetto
- Introduzione ai dati tabulari: pulizia del progetto
- Introduzione ai dati di testo: pulizia del progetto
- Hello Video Data: pulizia del progetto