Preparazione del set di dati per il training
Si addestra un set di dati per rispondere alla domanda di machine learning. Il set di dati per il training comprende una colonna per ogni caratteristica e una colonna che contiene il target. Gli algoritmi di machine learning apprendono modelli generali da queste righe di dati per generare un modello in grado di prevedere il target.
Per rendere il set di dati pronto per il machine learning, è necessario comprendere i dati e raccogliere i punti dati necessari. Potrebbe anche essere necessario trasformare alcuni dei dati e rimuovere quelli non rilevanti per il caso d'uso.
Quali dati raccogliere?
Definire con precisione la propria domanda di machine learning e decidere esattamente cosa deve essere aggregato per rispondere a tale domanda:
-
Se si vuole prevedere quali clienti abbandoneranno, è necessario aggregare un set di dati in cui ogni riga rappresenti un cliente, ogni colonna di caratteristiche rappresenti una caratteristica che descrive quel cliente e la colonna target indichi se quel cliente ha cancellato la sottoscrizione in un determinato periodo di tempo.
-
Se si vuole prevedere quali saranno le vendite di un determinato mese e di una determinata regione, è necessario aggregare un set di dati in cui ogni riga rappresenti un determinato mese per una determinata regione, ogni colonna delle caratteristiche rappresenti una caratteristica che descriva l'attività di quel mese in quella regione e la colonna target sia il fatturato di quella regione in quel mese.
Cercare di capire quali elementi potrebbero influenzare il target e vedere se è possibile raccogliere questi dati. Tenere presente che gli algoritmi di previsione possono solo identificare i modelli ricorrenti che sono lì per essere trovati. Forse è necessario raccogliere o creare caratteristiche aggiuntive per estrarre ulteriori informazioni?
È inoltre necessario determinare quanti dati è necessario accumulare prima di poter effettuare una previsione accurata. Quanto tempo ci vuole prima che l'evento diventi rappresentativo? Si considerino i seguenti esempi:
-
I clienti devono essere iscritti da 60 giorni prima di poter prevedere se se ne andranno entro il 90° giorno.
-
Il costo dei sinistri assicurativi non sarà noto prima di qualche mese, quindi è possibile escludere i sinistri risalenti a meno di sei mesi prima.
Distinguere tra dati variabili nel tempo e dati invariabili nel tempo. In caso di dati variabili nel tempo, i dati hanno una datazione temporale così da essere aggregati in modo appropriato?
I dati saranno disponibili al momento della previsione?
Assicurarsi che tutte le caratteristiche incluse nel set di dati di training siano disponibili anche per le previsioni future. È un errore comune addestrare il modello su caratteristiche disponibili per i dati cronologici, ma che non saranno disponibili al momento della previsione futura. Quando si fanno previsioni su nuovi dati, l'algoritmo di machine learning deve disporre di valori per tutte le caratteristiche disponibili nel set di dati di training.
È meglio avere più dati?
Dimensioni del campione
Un volume maggiore di dati tende a produrre modelli più affidabili. Qualsiasi altro punto dati rilevante sarà utile, che si tratti di osservazioni nuove o storiche.
Numero di caratteristiche
Si può essere tentati di includere nel modello tutte le possibili variabili, indipendentemente dalla loro rilevanza per il risultato desiderato. In genere, è meglio semplificare. In linea teorica è meglio utilizzare un numero minore di caratteristiche nel modello.
In presenza di più caratteristiche, può esserci un rischio maggiore di coprire la vera relazione sottostante che si vuole scoprire. Il modello previsionale può utilizzare tutte le caratteristiche per elaborare una serie di regole complicate che hanno un buon rendimento rispetto ai dati utilizzati per addestrare il modello. Ma il target previsto potrebbe essere influenzato solo da una o due caratteristiche. Il modello potrebbe non essere in grado di generalizzarsi a dati diversi da quelli utilizzati nel training, con conseguenti scarse prestazioni di previsione quando viene applicato a nuovi dati.
Sovradattamento
Per sovradattamento si intende che un modello è eccessivamente complesso e, di conseguenza, non è affidabile per la previsione di nuovi dati. Il sovradattamento tende a verificarsi in presenza di troppe caratteristiche rispetto al numero di punti dati disponibili. Ad esempio, si potrebbero avere solo 50 righe di dati e 100 colonne di caratteristiche nel set di dati.
I dati del training sono pertinenti?
Un algoritmo di machine learning trova modelli nei dati che gli vengono forniti e li utilizza per fare previsioni sui dati futuri. Quando si fanno previsioni su nuovi dati, si presume che siano simili a quelli del training. Per questo motivo, è importante che il set di dati di training assomigli statisticamente ai dati su cui si faranno le previsioni.
Se il mercato o l'azienda sono cambiati in modo significativo rispetto a quanto descritto dal set di dati per il training, probabilmente si sta utilizzando un set di dati obsoleto che porterà a previsioni imprecise. Potrebbe essere necessario creare un nuovo set di dati per il training e utilizzare solo i dati raccolti dopo la modifica.
Considerare l'esempio sulle previsioni di vendita in Comprendere il machine learning. Supponiamo di aver inserito nel nostro algoritmo dati che rappresentavano la spesa pubblicitaria in televisione, radio e giornali, nonché i ricavi delle vendite per i trimestri commerciali storici. Tuttavia, i dati sono stati raccolti negli anni Ottanta. Ora non pubblicizziamo più quel prodotto alla radio, ma quasi esclusivamente online. Il nostro algoritmo addestrato avrebbe scarse prestazioni nella previsione delle vendite del trimestre in corso, perché i dati del training non sono rappresentativi dell'attività corrente.
Esplorazione dei dati
Utilizzare le proprie conoscenze di business per comprendere e convalidare i dati. Se i dati non sono in linea con le proprie ipotesi, può significare che ci sono problemi con i dati o che le proprie ipotesi sono sbagliate?
Rimozione delle caratteristiche inaffidabili
Considerare di escludere dal set di dati le colonne in cui:
-
C'è un'alta concentrazione di un valore (bassa cardinalità). Ad esempio, una colonna con i valori "rosso", "verde", "blu" dove il 90% dei valori è "rosso".
-
I valori sono altamente unici (alta cardinalità).
-
La maggior parte dei valori sono nulli.
Caratteristiche correlate all'indirizzo
Eliminare le caratteristiche ridondanti, come quelle altamente correlate che forniscono informazioni uguali o molto simili. Considerare la possibilità di selezionare una singola caratteristica dai gruppi che sembrano acquisire gli stessi comportamenti nei dati. Cercare di capire se c'è una caratteristica che guida l'altra.
Sostituzione dei valori nulli
Esplorare i dati per scoprire se ci sono valori mancanti in punti dati chiave, come il target o le caratteristiche principali. Per utilizzare i valori di una colonna sparse, è possibile sostituire i valori nulli con "altro" o "sconosciuto". O forse è necessario rivalutare la raccolta dei dati.
Intervallo target
Osservare la distribuzione dei dati. Se la distribuzione dei dati target è troppo diffusa rispetto alla dimensione del campione, potrebbe essere difficile trovare un modello nei dati.
Qual è l'intervallo di valori dei dati? La previsione dei valori dei dati al di fuori dell'intervallo presenta alcune difficoltà. Ulteriori informazioni in Estrapolazione e interpolazione.
Vi sono anomalie nella distribuzione? Skew, code e forme multimodali nei dati potrebbero richiedere un'ulteriore trasformazione dei dati o un'ulteriore ingegnerizzazione delle caratteristiche. Cercare di raggruppare le categorie a basso volume e di arrotondare o eliminare le code nelle caratteristiche numeriche.
Eliminazione degli outlier
Considerare la rimozione delle osservazioni con valori anomali nelle colonne delle caratteristiche. Gli outlier possono ostacolare la capacità di un algoritmo di discernere modelli generali nei dati. Potrebbe essere preferibile esaminare un sottoinsieme più piccolo di dati con una diffusione più stretta nella colonna target.
Raggruppamento dei dati
È possibile migliorare i risultati dividendo i dati in set di dati diversi e utilizzandoli per addestrare modelli separati. Basare il raggruppamento dei dati su una o più caratteristiche.
Perdita di dati
Il concetto di "perdita di dati" si riferisce al fatto che i dati utilizzati per addestrare un algoritmo di machine learning possano includere le informazioni che si sta cercando di prevedere.