Guida per nuovi utenti di AutoML Tables

Introduzione

Immagina di lavorare nel reparto marketing di un rivenditore digitale. Tu e il tuo team state creando un programma email personalizzato basato sugli utenti tipo. Hai creato gli utenti tipo e hai a disposizione le email di marketing. Ora devi creare un sistema che includa i clienti in ciascun utente tipo in base alle preferenze di vendita al dettaglio e al comportamento di spesa, anche se si tratta di nuovi utenti. Vuoi anche prevedere le loro abitudini di spesa, in modo da ottimizzare il momento dell'invio delle email per massimizzare il coinvolgimento.

Immagini di esempio ordinate in categorie dai clienti

In qualità di rivenditore digitale, disponi di dati sui tuoi clienti e sugli acquisti che hanno effettuato. E i nuovi clienti? Gli approcci tradizionali sono in grado di calcolare questi valori per i clienti esistenti con una cronologia di acquisto lunga, ma non ottengono buoni risultati con 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 ai clienti?

Fortunatamente, il machine learning e AutoML Tables hanno tutte le carte in regola per risolvere questi problemi. Questa guida illustra il funzionamento di AutoML Tables e i tipi di problemi per cui è stata progettata.

Come funziona AutoML Tables?

rappresentazione grafica di una semplice rete neurale AutoML Tables è un servizio di apprendimento supervisionato. Ciò significa che devi addestrare un modello di machine learning con dati di esempio. AutoML Tables utilizza dati tabulari (strutturati) per addestrare un modello di machine learning al fine di fare previsioni su nuovi dati. Una colonna del set di dati, denominata target, è ciò che il modello imparerà a prevedere. Alcune altre colonne di dati sono input (chiamati funzionalità) da cui il modello apprenderà i pattern. Puoi utilizzare le stesse funzionalità di input per creare più tipi di modelli semplicemente modificando il target. Dall'esempio dell'email marketing, questo significa che puoi creare due modelli con le stesse caratteristiche di input: un modello potrebbe prevedere l'utente tipo di un cliente (target categorico) e uno potrebbe prevedere la sua spesa mensile (un target numerico).

Dati tabulari

Flusso di lavoro di AutoML Tables

AutoML Tables utilizza un flusso di lavoro standard per il machine learning:

  1. Raccogli i dati: determina i dati necessari per l'addestramento e il test del modello in base al risultato che vuoi ottenere
  2. Prepara i dati: assicurati che i dati siano formattati correttamente prima e dopo l'importazione dei dati
  3. Addestra: imposta i parametri e crea il tuo modello
  4. Valuta: esamina le metriche del modello
  5. Test: prova il modello con dati di test
  6. Esegui il deployment e prevedi: rendi il modello disponibile per l'uso.

Ma prima di iniziare a raccogliere i dati, è bene pensare al problema che stai cercando di risolvere, che determinerà i requisiti dei tuoi dati.

Considera il tuo caso d'uso

grafica del punto di partenza e di arrivo

Inizia con il tuo problema: qual è il risultato che vuoi ottenere? Che tipo di dati è la colonna di destinazione? A quanti dati hai accesso?

A seconda delle tue risposte, AutoML Tables creerà il modello necessario per risolvere il tuo caso d'uso:

  • Un modello di classificazione binaria prevede un risultato binario (una di due classi). Da utilizzare per domande di tipo sì o no, ad esempio per prevedere se un cliente acquisterà o meno un abbonamento. A parità di altri fattori, un problema di classificazione binaria richiede meno dati rispetto ad altri tipi di modelli.

  • Un modello di classificazione multi-classe prevede una classe da tre o più classi discrete. Utilizzalo per classificare gli elementi. Per l'esempio del retail, vuoi creare un modello di classificazione multiclasse per segmentare i clienti in utenti tipo diversi.

  • Un modello di regressione prevede un valore continuo. Per l'esempio della vendita al dettaglio, puoi anche creare un modello di regressione per prevedere la spesa dei clienti nel corso del mese successivo.

AutoML Tables definisce automaticamente il problema e il modello da creare in base al tipo di dati della colonna di destinazione. Pertanto, se la colonna di destinazione contiene dati numerici, AutoML Tables creerà un modello di regressione. Se la colonna di destinazione contiene dati categorici, AutoML Tables rileverà il numero di classi e determinerà se è necessario creare un modello binario o multi-classe.

Una nota sull'equità

L'equità è una delle pratiche dell'IA responsabile di Google. L'obiettivo dell'equità è comprendere e prevenire trattamenti ingiusti o pregiudizievoli nei confronti delle persone in base a gruppo etnico, reddito, orientamento sessuale, religione, genere e altre caratteristiche storicamente associate a discriminazione ed emarginazione, nonché a capire quando e dove si manifestano in sistemi algoritmici o processi decisionali assistiti da algoritmi. Mentre leggi questa guida, noterai delle note "fair-aware" che illustrano meglio come creare un modello di machine learning più equo. Scopri di più

Raccogli i tuoi dati

grafico dei punti dati Dopo aver stabilito il tuo caso d'uso, dovrai raccogliere i dati per addestrare il modello. L'approvvigionamento e la preparazione dei dati sono passaggi fondamentali per la creazione di un modello di machine learning. I dati a tua disposizione ti forniranno informazioni sul 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 presente le seguenti considerazioni chiave.

Seleziona le funzionalità pertinenti

Una caratteristica è un attributo di input utilizzato per l'addestramento del modello. Le caratteristiche sono il modo in cui il modello identifica i pattern per fare previsioni, quindi devono essere pertinenti al problema. Ad esempio, per creare un modello che prevede se la transazione con carta di credito è fraudolenta o meno, devi creare un set di dati contenente dettagli sulla transazione come acquirente, venditore, importo, data e ora ed articoli acquistati. Altre funzionalità utili potrebbero essere le informazioni storiche su acquirente e venditore e sulla frequenza con cui l'articolo acquistato è stato coinvolto in attività fraudolente. Quali altre funzionalità potrebbero essere pertinenti?

Prendiamo in considerazione il caso d'uso dell'email marketing per la vendita al dettaglio fin dall'introduzione. Ecco alcune colonne di funzionalità che potrebbero essere necessarie:

  • Elenco di articoli acquistati (inclusi brand, categorie, prezzi, sconti)
  • Numero di articoli acquistati (ultimo giorno, settimana, mese, anno)
  • Somma delle spese (giorno, settimana, mese, anno precedente)
  • Profilo demografico noto dell'acquirente

Includi dati sufficienti

grafico di addestramento del modello In generale, più sono gli esempi di addestramento, migliore sarà il risultato. Anche la quantità di dati di esempio richiesti viene scalata di pari passo con la complessità del problema che stai cercando di risolvere. Non avrai bisogno di così tanti dati per ottenere un modello di classificazione binaria accurato rispetto a un modello multi-classe perché è meno complicato prevedere una classe tra due anziché molte.

Non esiste una formula perfetta, ma esistono delle righe minime consigliate di dati di esempio:

  • Problema di classificazione: 50 volte il numero di elementi
  • Problema di regressione: 200 volte il numero di caratteristiche

Acquisisci variante

Il set di dati dovrebbe acquisire la diversità dello spazio dei problemi. Più sono gli esempi diversificati che un modello vede durante l'addestramento, più facilmente può generalizzare a esempi nuovi o meno comuni. Immagina se il tuo modello retail sia stato addestrato usando solo i dati di acquisto dell'inverno. Sarebbero in grado di predire le preferenze o i comportamenti di acquisto relativi all'abbigliamento estivo?

Preparare i dati

Dopo aver identificato i dati disponibili, devi assicurarti che siano pronti per l'addestramento. Se i dati sono di parte o contengono valori mancanti o errati, il modello rifletterà questi valori nel suo addestramento. Prima di iniziare l'addestramento del modello, considera quanto segue. Scopri di più

Evitare fughe di dati e disallineamenti addestramento/produzione

La fuga di dati si verifica quando, durante l'addestramento, utilizzi caratteristiche di input che "diffondono" informazioni sul target che stai cercando di prevedere, che non è disponibile quando il modello viene effettivamente pubblicato. Questo può essere rilevato quando una caratteristica altamente correlata con la colonna di destinazione è inclusa come una delle caratteristiche di input. Ad esempio, se stai creando un modello per prevedere se un cliente sottoscriverà un abbonamento nel mese successivo e una delle funzionalità di input è il pagamento futuro dell'abbonamento da parte del cliente. Ciò può portare a prestazioni del modello elevate durante i test, ma non quando viene eseguito il deployment in produzione, poiché i dati di pagamento degli abbonamenti futuri non sono disponibili al momento della pubblicazione.

Il disallineamento addestramento/produzione si verifica quando le caratteristiche di input utilizzate durante il tempo di addestramento sono diverse da quelle fornite al modello al momento della pubblicazione, causando una scarsa qualità del modello in produzione. Ad esempio, creando un modello per prevedere le temperature orarie, ma eseguendo l'addestramento 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 degli studenti, ma non fornire queste informazioni al momento della pubblicazione.

Comprendere i dati di addestramento è importante per evitare fughe di dati e disallineamenti nell'addestramento/produzione:

  • Prima di utilizzare un dato, assicurati di conoscere il significato dei dati e se devi utilizzarli come funzionalità
  • Controlla la correlazione nella scheda Addestra. Le correlazioni elevate dovrebbero essere segnalate per la revisione.
  • Disallineamento addestramento/produzione: assicurati di fornire al modello solo funzionalità di input che sono disponibili nello stesso formato al momento della pubblicazione.

Elimina i dati mancanti, incompleti e incoerenti

È frequente che nei dati di esempio manchino valori imprecisi. Prenditi il tempo necessario per rivedere e, se possibile, migliorare la qualità dei tuoi dati prima di utilizzarli per l'addestramento. Maggiore è il numero di valori mancanti, meno i dati saranno utili per l'addestramento di un modello di machine learning.

  • Verifica l'eventuale presenza di valori mancanti nei dati e, se possibile, correggili oppure lascia vuoto il valore se la colonna è impostata per essere nullo. AutoML Tables è in grado di gestire i valori mancanti, ma è più probabile che si ottengano risultati ottimali se sono disponibili tutti i valori.

  • Pulisci i tuoi dati correggendo o eliminando errori nei dati o rumori. Mantieni i tuoi dati coerenti: controlla ortografia, abbreviazioni e formattazione.

Analizza i dati dopo l'importazione

AutoML Tables fornisce una panoramica del set di dati dopo che è stato importato. Esamina il set di dati importato per assicurarti che ogni colonna abbia il tipo di variabile corretto. AutoML Tables rileverà automaticamente il tipo di variabile in base ai valori delle colonne, ma è preferibile esaminarli tutti. Devi inoltre esaminare la nullabilità di ogni colonna, che determina se una colonna può avere valori mancanti o NULL.

addestra il modello

Dopo l'importazione del set di dati, il passaggio successivo consiste nell'addestrare un modello. AutoML Tables genera un modello di machine learning affidabile con i valori predefiniti per l'addestramento, ma puoi modificare alcuni parametri in base al tuo caso d'uso.

Prova a selezionare il maggior numero possibile di colonne di caratteristiche per l'addestramento, ma esaminale per assicurarti che siano appropriate per l'addestramento. Per la selezione delle funzionalità, tieni presente quanto segue:

  • Non selezionare colonne di caratteristiche che creeranno 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 del problema di previsione attuale.
  • Ricorda i principi di equità: stai addestrando il tuo modello con una funzionalità che potrebbe portare a decisioni di parte o ingiuste per i gruppi emarginati?

In che modo AutoML Tables utilizza il set di dati

Il set di dati verrà suddiviso in set di addestramento, convalida e test. Per impostazione predefinita, AutoML Tables utilizza l'80% dei dati per l'addestramento, il 10% per la convalida e il 10% per i test, ma puoi modificare manualmente questi valori, se necessario.

rappresentazione grafica della suddivisione di addestramento, test e convalida

Set per l'addestramento

grafica di un binocolo La maggior parte dei tuoi dati dovrebbe essere nel set di addestramento. Si tratta dei dati che il modello "vede" durante l'addestramento e viene utilizzato per apprendere i parametri del modello, ovvero i pesi delle connessioni tra i nodi della rete neurale.

Set di convalida

grafica progetto Il set di convalida, a volte chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Dopo che il framework di apprendimento del modello ha incorporato i dati di addestramento durante ogni iterazione del processo di addestramento, utilizza le prestazioni del modello sul set di convalida per ottimizzare gli iperparametri del modello, variabili che specificano la struttura del modello. Se provassi a utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello si concentri eccessivamente sui tuoi dati di addestramento e abbia difficoltà a generalizzare gli esempi che non corrispondono esattamente. Usare un set di dati nuovo per perfezionare la struttura del modello significa che il modello si generalizzerà meglio.

Set di test

immagine becher Il set di test non è coinvolto nel processo di addestramento. Una volta che il modello ha completato completamente l'addestramento, AutoML Tables utilizza il set di test come una sfida completamente nuova per il tuo modello. Le prestazioni del modello nel set di test hanno lo scopo di darti un'idea piuttosto chiara delle prestazioni del modello sui dati reali.

Valuta il modello

grafica lente d'ingrandimento Dopo l'addestramento del modello, riceverai un riepilogo delle sue prestazioni. Le metriche di valutazione del modello si basano sulle prestazioni del modello rispetto a una sezione del set di dati (il set di dati di test). Ci sono un paio di metriche e concetti chiave da considerare per determinare se il tuo modello è pronto per essere utilizzato nei dati reali.

Metriche di classificazione

Soglia punteggio

Prendiamo come esempio un modello di machine learning che prevede se un cliente acquisterà una giacca nel prossimo anno. Quanto deve essere sicuro il modello prima di prevedere che un determinato cliente acquisterà una giacca? 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 tipo sì o no, ovvero il valore al quale il modello indica "sì, questo punteggio di affidabilità è sufficientemente alto da concludere che questo cliente acquisterà un cappotto l'anno successivo".

immagine di cappotti con soglia alta e bassa

Se la soglia di punteggio è bassa, il modello potrebbe essere classificato in modo errato. Per questo motivo, la soglia di 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 di quattro categorie. Per capire queste categorie, immaginate di nuovo un modello di classificazione binaria delle giacche. In questo esempio, la classe positiva (quella che il modello sta cercando di prevedere) è che il cliente acquisterà una giacca l'anno successivo.

  • Vero positivo: il modello prevede correttamente la classe positiva. Il modello ha previsto correttamente che un cliente abbia 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 è successo.

immagine con 4 descrizioni di categorie di confidenza

Precisione e richiamo

Le metriche di precisione e richiamo ti aiutano a capire in che misura il tuo modello sta acquisendo le informazioni e cosa sta omettendo. Scopri di più su precisione e richiamo.

  • La precisione è la frazione di previsioni positive che sono risultate corrette. Di tutte le previsioni relative all'acquisto di un cliente, quale frazione erano acquisti effettivi?
  • Richiamo è la frazione di righe con questa etichetta che il modello ha previsto correttamente. Di tutti gli acquisti dei clienti che si sarebbero potuti identificare, quale frazione era?

A seconda del tuo 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). L'intervallo di valori 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 di previsioni di classificazione prodotte dal modello che sono state corrette.

  • Perdita di log: entropia incrociata tra le previsioni del modello e i valori target. L'intervallo va da zero a infinito, dove un valore più basso 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 regressione

Una volta creato il modello, AutoML Tables fornisce una varietà di metriche di regressione standard da esaminare. Non esiste una risposta perfetta su come valutare il tuo modello; le metriche di valutazione devono essere considerate nel contesto del tuo tipo di problema e di ciò che vuoi ottenere con il modello. Ecco una panoramica di alcune metriche disponibili.

Errore assoluto medio (MAE)

Il MAE indica la differenza media assoluta tra i valori target e quelli previsti. Misura l'entità media degli errori, ovvero la differenza tra un valore target e un valore previsto, in un insieme di previsioni. Inoltre, poiché utilizza valori assoluti, il MAE non considera la direzione della relazione, né indica prestazioni inferiori o superiori. Quando si valuta il MAE, un valore inferiore indica un modello di qualità superiore (0 rappresenta un predittore perfetto).

Radice errore quadratico medio (RMSE)

L'RMSE è la radice quadrata della differenza quadrata media tra i valori target e quelli previsti. L'RMSE è più sensibile ai valori anomali rispetto al MAE,quindi se sei preoccupato per errori di grandi dimensioni, l'RMSE può essere una metrica più utile da valutare. Analogamente al MAE, un valore inferiore indica un modello di qualità superiore (0 rappresenta un predittore perfetto).

Errore logaritmico quadratico medio (RMSLE)

Il valore RMSLE è l'RMSE in scala logaritmica. L'RMSLE è più sensibile agli errori relativi rispetto a quelli assoluti e dà più importanza alle prestazioni inferiori al previsto che alle sovraprestazioni.

Testa il tuo modello

La valutazione delle metriche del modello è principalmente il modo in cui determinare se il modello è pronto per il deployment, ma puoi anche testarlo con nuovi dati. Prova a caricare nuovi dati per vedere se le previsioni del modello 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. Scopri di più sulla risoluzione dei problemi del modello

Esegui il deployment del modello ed esegui previsioni

grafica lampadina Quando le prestazioni del modello ti soddisfano, è il momento di utilizzarlo. Forse questo significa utilizzo su scala di produzione o una richiesta di previsione una tantum. A seconda del caso d'uso, puoi usare il modello in diversi modi.

Previsione batch

La previsione batch è utile per effettuare molte richieste di previsione contemporaneamente. La previsione batch è asincrona, ovvero il modello attende che vengano elaborate tutte le richieste di previsione prima di restituire un file CSV o una tabella BigQuery con valori di previsione.

Previsione online

Esegui il deployment del modello per renderlo disponibile per le richieste di previsione utilizzando un'API REST. La previsione online è sincrona (in tempo reale), ossia restituisce rapidamente una previsione, ma accetta soltanto una richiesta di previsione per chiamata API. La previsione online è utile se il modello fa parte di un'applicazione e parti del sistema dipendono da tempi di previsione rapidi.

Per evitare addebiti indesiderati, ricordati di annullare il deployment del modello quando non è in uso.