Problemi di regressione
I problemi di regressione sono problemi di machine learning con una colonna target numerica. L'esempio seguente mostra come inquadrare una domanda commerciale in modo preciso e poi aggregare un set di dati di training in cui tutte le caratteristiche sono sullo stesso piano. Questo fornisce una buona base per la generazione di un modello di regressione previsionale.
Esempio di regressione: valore di vita del cliente
Partiamo dal presupposto che un modello di machine learning addestrato sui clienti cronologici imparerà a prevedere il valore di vita del cliente utilizzando diverse caratteristiche che influenzano tale previsione. Raccogliamo un set di dati con informazioni cronologiche su tutti i clienti passati e presenti. È presente una riga per ogni cliente e le colonne rappresentano le caratteristiche che descrivono il cliente: ID cliente, sesso, età, data in cui è diventato cliente, codice postale, numero di acquisti effettuati e spesa monetaria totale.
Potremmo definire il valore di vita del cliente come la spesa monetaria totale, fornire il set di dati a un algoritmo di machine learning e fargli apprendere come prevedere la spesa monetaria totale. Quando in futuro si acquisiranno nuovi clienti, si potrà utilizzare l'algoritmo di training per prevedere il valore monetario che essi forniranno durante la vita del cliente. Tuttavia, questo approccio presenta diversi problemi:
-
Il set di dati potrebbe includere persone che sono state clienti per un giorno, un mese o un anno. Il valore della spesa monetaria totale non riflette l'importo che un cliente spenderà, ma il totale che ha speso fino a quel momento.
-
Un cliente il cui account ha un giorno di vita potrebbe avere le caratteristiche di un cliente con un rendimento elevato. Ma poiché sono diventati clienti solo ieri, hanno fatto un solo acquisto e non hanno speso molto. Includendoli nel set di dati di training, insegniamo erroneamente all'algoritmo di machine learning che si tratta di un tipo di cliente che non porta molto denaro.
-
Potremmo avere un nuovo cliente che nel primo mese ha ordinato prodotti tre volte a settimana, per un totale di 12 acquisti. Chi è cliente da un anno e acquista una volta al mese potrebbe aver speso la stessa cifra. L'algoritmo di machine learning metterebbe questi due clienti sullo stesso piano in termini di valore di vita del cliente, quando in realtà il cliente da un mese potrebbe avere un valore significativamente maggiore nel lungo periodo.
Per evitare queste insidie, dobbiamo essere precisi su come definire il valore di vita del cliente e su come preparare un set di dati per il problema. Un buon modo per raggiungere questo obiettivo è quello di includere il tempo come fattore nella definizione del problema.
Inclusione di un fattore temporale
Per includere un fattore temporale, iniziamo a definire il valore del primo anno come il denaro totale che un cliente spende nel suo primo anno di vita. Potremmo quindi utilizzare il comportamento di un cliente durante i primi tre mesi come caratteristiche per prevedere la sua spesa totale nel corso del primo anno. Il valore del primo anno è una definizione precisa di una metrica di interesse che incorpora un arco temporale. Il vantaggio di creare una metrica così definita è che mette tutti gli esempi del nostro set di dati di training sullo stesso piano.
Poiché ora stiamo esaminando il denaro totale speso dai clienti durante il loro primo anno, dobbiamo limitare il set di dati per il training ai clienti presenti da almeno un anno. Possiamo preparare un set di dati come questo:
Qui, ogni riga rappresenta una persona che è stata cliente per almeno un anno. Le colonne includono caratteristiche che descrivono il cliente nel momento in cui è diventato tale e caratteristiche che rappresentano l'attività del cliente durante l'arco di tempo scelto.
L'attività è misurata dal numero di acquisti effettuati nei primi tre mesi e dalla spesa monetaria totale nei primi tre mesi. La colonna target rappresenta il totale dei fondi spesi nel primo anno. Questo è il valore del primo anno che insegneremo all'algoritmo di machine learning come prevedere.
Notare come ora stiamo ponendo una domanda molto precisa, definita all'interno di un arco temporale: "Prevedere quanto denaro porterà un cliente nel corso del primo anno, in base al suo comportamento nei primi tre mesi".