Guida per AutoML Tables per #39;s

Introduzione

Immagina di lavorare nel reparto marketing di un rivenditore digitale. Tu e il tuo team state creando un programma email personalizzato basato sui clienti tipo. Hai creato gli utenti tipo e hai a portata di mano le email di marketing. Ora devi creare un sistema che contenga i clienti in base alle loro preferenze di vendita al dettaglio e al comportamento di spesa, anche se sono nuovi. Vuoi anche prevedere le loro abitudini di spesa in modo da ottimizzare quando inviare le email per massimizzare il coinvolgimento.

Immagini di esempio che i clienti vengono ordinati in categorie

Poiché sei un rivenditore digitale, hai dati sui tuoi clienti e sugli acquisti che hanno effettuato. Ma cosa succede con i nuovi clienti? Gli approcci tradizionali possono calcolare questi valori per i clienti esistenti con cronologie di acquisto lunghe, ma non hanno un buon rendimento con i clienti che dispongono di pochi dati storici. E se potessi creare un sistema per prevedere questi valori e aumentare la velocità di distribuzione dei programmi di marketing personalizzati ai clienti?

Fortunatamente, il machine learning e AutoML Tables sono ben posizionati per risolvere questi problemi. Questa guida illustra il funzionamento di AutoML Tables e i tipi di problemi progettati per essere risolti.

Come funziona AutoML Tables?

Rappresentazione grafica di una semplice rete neurale AutoML Tables è un servizio di apprendimento supervisionato. Ciò significa che puoi addestrare un modello di machine learning con dati di esempio. AutoML Tables utilizza dati tabulari (strutturati) per addestrare un modello di machine learning per fare previsioni su nuovi dati. Il tuo modello imparerà a prevedere una colonna del tuo set di dati, denominata target. Alcune delle altre colonne di dati sono dati inseriti (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, ciò significa che puoi creare due modelli con le stesse funzionalità di input: un modello potrebbe prevedere la spesa di un cliente (un target categorico) e uno potrebbe prevedere la sua spesa mensile (un target numerico).

Dati tabulari

Il flusso di lavoro di AutoML Tables

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

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

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

Considerare il caso d'uso

grafica con punto di partenza e di arrivo

Inizia con il problema: qual è il risultato che vuoi raggiungere? Che tipo di dati si trova nella colonna di destinazione? Quanti dati hai a disposizione?

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). Utilizza questa risposta per domande sì o no, ad esempio per prevedere se un cliente acquisterà o meno un abbonamento. A parità di condizioni, un problema di classificazione binaria richiede meno dati di altri tipi di modelli.

  • Un modello di classificazione multi-classe prevede una classe da tre o più classi distinte. Utilizza questa categoria per classificare gli elementi. Per l'esempio di vendita al dettaglio, vuoi creare un modello di classificazione multi-classe per segmentare i clienti in diversi utenti tipo.

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

Le tabelle AutoML definiscono automaticamente il problema e il modello da creare in base al tipo di dati della colonna di destinazione. Pertanto, se la colonna target contiene dati numerici, allora Tabelle AutoML creerà un modello di regressione. Se la colonna target è una categoria, i dati AutoML Tables rilevano il numero di classi e determinano se devi creare un modello binario o multi-classe.

Una nota sull'equità

L'equità è una delle pratiche responsabili dell'AI di Google. L'obiettivo dell'equità è comprendere e prevenire un trattamento ingiusto o pregiudiziale nei confronti di persone sulla base di etnia, reddito, orientamento sessuale, religione, genere e altre caratteristiche storicamente associate a discriminazione ed emarginazione nel momento in cui si manifestano in sistemi algoritmici o processi decisionali facilitati. Mentre leggi questa guida, vedrai note di tipo "Fair Awareness" che illustrano meglio come creare un modello di machine learning più equo. Scopri di più

Raccogli i tuoi dati

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

Selezionare le funzionalità pertinenti

Una caratteristica è un attributo di input utilizzato per l'addestramento del modello. Le caratteristiche indicano il modo in cui il modello identifica i modelli 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 delle transazioni come acquirente, venditore, importo, data, ora e articoli acquistati. Altre funzionalità utili potrebbero essere le 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?

Prendiamo in considerazione il caso d'uso dell'email marketing per la vendita al dettaglio già presentato. Ecco alcune colonne relative alle funzionalità che potrebbero essere necessarie:

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

Includi dati sufficienti

grafica addestramento modelli In generale, maggiore è il numero di esempi di formazione a tua disposizione, migliore sarà il tuo risultato. La quantità di dati di esempio richiesti scala anche con la complessità del problema che stai cercando di risolvere. Non avrai bisogno di così tanti dati per ottenere un modello di classificazione binari preciso rispetto a un modello multi-classe, perché è meno complicato prevedere una classe da due anziché molte.

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

  • Problema di classificazione: 50 x le caratteristiche del numero
  • Problema di regressione: 200 x il numero di funzionalità

Acquisisci variante

Il set di dati dovrebbe rappresentare la diversità dello spazio problematico. Più ampio è il numero di esempi mostrati da un modello durante l'addestramento, più rapidamente può essere generiche per esempi nuovi o meno comuni. Immagina se il tuo modello di vendita al dettaglio sia stato addestrato utilizzando solo i dati relativi agli acquisti dell'inverno. Sarebbe in grado di prevedere correttamente le preferenze relative ai vestiti o i comportamenti di acquisto?

Prepara i tuoi dati

Dopo aver identificato i dati disponibili, devi assicurarti che siano pronti per l'addestramento. Se i dati sono distorti o contengono valori mancanti o errati, il modello rispecchierà tali informazioni nell'addestramento. Tieni presente quanto segue prima di iniziare ad addestrare il modello. Scopri di più

Evitare perdite di dati e disallineamenti addestramento/produzione

La fuga di dati si verifica quando utilizzi funzionalità di input durante l'addestramento che forniscono informazioni sul target che stai cercando di prevedere, che non sono disponibili quando il modello viene effettivamente pubblicato. Ciò può essere rilevato quando una funzionalità altamente correlata alla colonna di destinazione è inclusa come una delle caratteristiche di input. Ad esempio, se vuoi creare un modello per prevedere se un cliente sottoscriverà un abbonamento nel mese successivo e una delle funzionalità di input costituiscono un futuro pagamento di abbonamento da parte di quel cliente. Questo può portare a un elevato rendimento del modello durante il test, ma non al momento dell'implementazione in produzione, dato che le informazioni di pagamento sull'abbonamento future non sono disponibili al momento della pubblicazione.

Il disallineamento dell'addestramento si verifica quando le funzionalità di input utilizzate durante il periodo di addestramento sono diverse da quelle fornite al modello al momento della pubblicazione, causando una scarsa qualità del modello in produzione. Ad esempio, puoi creare un modello per prevedere le temperature orarie, ma addestrare con dati che contengono solo temperature settimanali. Un altro esempio è: fornire sempre i voti degli studenti per quanto riguarda la previsione dell'abbandono, ma non le informazioni al momento della pubblicazione.

Comprendere i dati di addestramento è importante per evitare perdite di dati e disallineamento dell'addestramento:

  • Prima di utilizzare i dati, assicurati di comprenderne il significato e se dovrai utilizzarli come funzionalità.
  • Verifica la correlazione nella scheda Treno. Le correlazioni elevate devono essere contrassegnate per la revisione.
  • Disallineamento addestramento/produzione: assicurati di fornire nel modello solo le funzionalità di input disponibili esattamente nello stesso formato al momento della pubblicazione.

Pulire i dati mancanti, incompleti e incoerenti

È comune avere valori mancanti e imprecisi nei dati di esempio. Esaminali e, se possibile, migliora la qualità dei dati prima di utilizzarli per l'addestramento. Più valori mancano, meno utili saranno i tuoi dati per l'addestramento di un modello di machine learning.

  • Controlla i tuoi dati per verificare la presenza di valori mancanti e correggili, se possibile, oppure lascia vuoto il valore se la colonna è impostata su nullble. Le tabelle AutoML possono gestire i valori mancanti, ma è più probabile che ottenga risultati ottimali se tutti i valori sono disponibili.

  • Pulire i dati correggendo o eliminando errori o rumori. Mantieni i tuoi dati coerenti: esamina ortografia, abbreviazioni e formattazione.

Analizzare i dati dopo l'importazione

AutoML Tables offre una panoramica del tuo set di dati dopo l'importazione. Controlla 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 è consigliabile esaminarli tutti. Controlla anche la nulla di ogni colonna, che determina se una colonna può avere valori mancanti o NULL.

Addestra il modello

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

Prova a selezionare il maggior numero possibile di colonne di funzionalità per l'addestramento, ma esamina ogni elemento per assicurarti che sia appropriato per l'addestramento. Per la selezione delle funzionalità, tieni presente quanto segue:

  • Non selezionare colonne delle caratteristiche che creano rumore, come le colonne degli identificatori assegnate in modo casuale con un valore univoco per ogni riga.
  • Assicurati di comprendere tutte le colonne delle caratteristiche e i relativi valori.
  • Se stai creando più modelli da un set di dati, rimuovi le colonne target che non fanno parte del problema di previsione corrente.
  • Richiama i principi dell'equità: stai addestrando il tuo modello con una funzionalità che potrebbe portare a un processo decisionale distorto o iniqua 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 tali valori, se necessario.

Rappresentazione grafica dei segmenti di addestramento, test e convalida

Set di addestramento

grafica binocolo La maggior parte dei dati deve rientrare nel set di addestramento. Questi sono i dati "vedi" durante l'addestramento: sono utilizzati 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", deve essere utilizzato anche durante il processo di addestramento. Dopo che il framework di apprendimento dei modelli incorpora i dati di addestramento durante ogni iterazione del processo di addestramento, utilizza le prestazioni del modello nella convalida impostata per ottimizzare gli iperparametri di tale modello, che sono variabili che specificano la struttura del modello. Se hai provato a utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finisca per concentrarsi sui dati di addestramento e hai difficoltà a generalizzare con esempi che non corrispondono esattamente. L'utilizzo di un set di dati innovativo per perfezionare la struttura del modello significa che il tuo modello sarà più generico.

Set di test

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

Valutare il modello

grafica con lente d'ingrandimento Dopo aver completato l'addestramento del modello, riceverai un riepilogo del suo rendimento. Le metriche di valutazione del modello si basano sul rendimento del modello rispetto a una porzione del tuo set di dati (il set di dati di test). Ci sono un paio di metriche e concetti fondamentali da considerare per determinare se il tuo modello è pronto per essere utilizzato nei dati reali.

Metriche di classificazione

Soglia punteggio

Valutare un modello di machine learning che prevede se un cliente acquisterà una giacca il prossimo anno. Come deve essere 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 della certezza del modello che la classe prevista è corretta. La soglia di punteggio è il numero che determina quando un determinato punteggio viene convertito in una decisione sì o no; ovvero il valore al quale il tuo modello dice "sì, questo punteggio di affidabilità è sufficientemente elevato per concludere che questo cliente acquisterà un cappotto il prossimo anno."

immagine di cappotti con soglia alta e una soglia bassa

Se la soglia di punteggio è bassa, il modello comporterà il rischio di classificazione errata. Per questo motivo, la soglia del punteggio deve essere basata su un determinato caso d'uso.

Esito della previsione

Dopo aver applicato la soglia di punteggio, le previsioni effettuate dal tuo modello rientrano in una delle quattro categorie. Per comprendere queste categorie, immagina di nuovo un modello di classificazione binari della giacca. In questo esempio, la classe positiva (quello che il modello sta tentando 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 ha acquistato una giacca.
  • Falso positivo: il modello prevede in modo errato la classe positiva. Il modello ha previsto che un cliente ha acquistato una giacca, ma non lo ha fatto.
  • Vero negativo: il modello prevede correttamente la classe esclusa. Il modello ha previsto correttamente che un cliente non ha acquistato una giacca.
  • Falso negativo: il modello prevede in modo errato una classe esclusa. Il modello prevedeva che un cliente non avesse acquistato una giacca, ma sì.

immagine con quattro descrizioni categorie di confidenza

Precisione e richiamo

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

  • La accuratezza è la frazione delle previsioni positive che sono state corrette. Di tutte le previsioni di acquisto di un cliente, quale frazione era acquisto effettivo?
  • Il richiamo è la frazione di righe con questa etichetta che il modello ha previsto in modo corretto. Tra tutti gli acquisti dei clienti che potevano essere identificati, quale frazione era?

A seconda del caso d'uso, potrebbe essere necessario ottimizzare per la precisione o il richiamo.

Altre metriche di classificazione
  • AUC PR: area sotto la curva di precisione-richiamo (PR). Questo valore varia da zero a uno, dove un valore più elevato indica un modello di qualità superiore.

  • AUC ROC: 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 erano 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à superiore.

  • 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 serie di metriche di regressione standard che puoi esaminare. Non esiste una soluzione perfetta per valutare il modello; le metriche di valutazione devono essere considerate insieme al tipo di problema e a ciò che vuoi ottenere con il modello. Di seguito è riportata una panoramica di alcune metriche a tua disposizione.

Errore medio assoluto (MAE, Mean Absolute Error)

Il valore MAE è la differenza media assoluta tra i valori target e previsti. Misura l'entità media degli errori, ovvero la differenza tra un valore target e un valore previsto, in un insieme di previsioni. Poiché utilizza valori assoluti, MAE non considera la direzione della relazione né indica un rendimento insufficiente o eccessivo. Quando valuti MAE, un valore più basso indica un modello di qualità migliore (0 rappresenta un predittore perfetto).

Errore quadratico medio della radice (RMSE)

RMSE è la radice quadrata della differenza al quadrato medio tra i valori target e quelli previsti. L'RMSE è più sensibile ai valori anomali rispetto a MAE,quindi se ti preoccupano gli errori di grandi dimensioni, RMSE può essere una metrica più utile da valutare. Come nel caso del MAE, un valore più basso indica un modello di qualità migliore (0 rappresenta un predittore perfetto).

Errore logaritmico quadrato medio (RMSLE)

RMSLE è RMSE in scala logaritmica. RMSLE è più sensibile agli errori relativi rispetto a quelli assoluti e si preoccupa di più delle prestazioni insufficienti che delle prestazioni superiori alle aspettative.

Testa il tuo modello

La valutazione delle metriche del modello è principalmente il modo in cui puoi determinare se il tuo 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, potresti dover continuare a migliorare il rendimento del modello. Scopri di più sulla risoluzione dei problemi del modello

Esegui il deployment del modello e fai previsioni

immagine lampadina Quando il rendimento del tuo modello ti soddisfa, è il momento di utilizzare tale modello. Questo può significare l'uso su scala di produzione, o l'utilizzo di una richiesta predittiva una tantum. A seconda del caso d'uso, puoi utilizzare il modello in modi diversi.

Previsione batch

La previsione batch è utile per effettuare più richieste di previsione contemporaneamente. La previsione batch è asincrona, vale a dire che il modello attende finché non elabora 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 una sola richiesta di previsione per chiamata API. La previsione online è utile se il modello fa parte di un'applicazione e alcune parti del sistema dipendono da una tempistica di previsione rapida.

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