Debug dei dati e delle funzionalità

I dati di bassa qualità influiscono notevolmente sulle prestazioni del modello. È molto più facile rilevare i dati di bassa qualità in fase di input invece di indovinare la sua esistenza dopo che il modello ha previsto errori. Monitora i dati seguendo i consigli in questa sezione.

Convalida dati di input utilizzando uno schema di dati

Per monitorare i tuoi dati, devi confrontarli continuamente con i valori statistici previsti scrivendo regole che i dati debbano soddisfare. Questa raccolta di regole è chiamata schema dei dati. Definisci uno schema di dati seguendo questi passaggi:

  1. Per quanto riguarda i dati delle caratteristiche, comprende l'intervallo e la distribuzione. Per le caratteristiche categoriche, interpreta l'insieme di possibili valori.
  2. Codifica le tue conoscenze nelle regole definite nello schema. Ecco alcuni esempi di regole:

    • Assicurati che le valutazioni inviate dagli utenti siano sempre comprese tra 1 e 5.
    • Verifica che "il" si verifichi più di frequente (per una funzionalità in testo in inglese).
    • Verifica che le caratteristiche categoriche abbiano valori da un insieme fisso.
  3. Testa i tuoi dati in base allo schema dei dati. Lo schema dovrebbe rilevare errori nei dati, tra cui:

    • anomalie
    • valori imprevisti delle variabili categoriche
    • distribuzioni di dati inaspettate

Assicurati che le suddivisioni siano di buona qualità

I segmenti di test e addestramento devono essere altrettanto rappresentativi dei dati di input. Se i segmenti di test e addestramento sono statisticamente diversi, i dati di addestramento non aiuteranno a prevedere i dati di test. Per scoprire come campionare e suddividere i dati, consulta la sezione Campionamento e suddivisione dei dati nel corso Preparazione dati e progettazione delle funzionalità nel machine learning.

Monitora le proprietà statistiche delle suddivisioni. Se le proprietà differiscono, alza un flag. Inoltre, verifica che il rapporto di esempi in ogni suddivisione sia costante. Ad esempio, se i dati sono suddivisi in 80:20, il rapporto non dovrebbe cambiare.

Dati strutturati per il test

Anche se i dati non elaborati potrebbero essere validi, il modello vede solo i dati sulle funzionalità progettate. Poiché i dati strutturati sono molto diversi dai dati di input non elaborati, è necessario controllare separatamente i dati strutturati. In base alle tue conoscenze sui dati progettati, scrivi test delle unità. Ad esempio, puoi scrivere test delle unità per verificare le seguenti condizioni:

  • Tutte le funzionalità numeriche vengono scalate, ad esempio, tra 0 e 1.
  • I vettori codificati one-hot contengono solo un singolo zero 1 e N-1.
  • I dati mancanti sono sostituiti da valori medi o predefiniti.
  • Le distribuzioni dei dati dopo la trasformazione sono conformi alle aspettative. Ad esempio, se hai normalizzato utilizzando z-scores, la media di z-scores è 0.
  • I valori anomali vengono gestiti, ad esempio in base alla scalabilità o al ritaglio.