Come aggiornare in modo incrementale il valore delle funzionalità in una pipeline di apprendimento automatico?

1

Sto lavorando su una pipeline di machine learning in cui dobbiamo calcolare determinate misure sullo streaming dei dati. Ogni giorno, nuovi dati grezzi entrano nella nostra pipeline. Per aggiornare le nostre funzionalità, dobbiamo eseguire un ETL che carichi l'intero dato grezzo e ricalcoli le funzionalità. Sto cercando un framework per pensare a come possiamo aggiornare in modo incrementale le nostre funzionalità quando arrivano nuovi dati senza ricalcolarlo da zero.

Si noti che le funzioni che usiamo tendono ad avere le seguenti proprietà:

  1. Di solito sono conteggi, medie e rapporti.
  2. Alcune funzionalità sono calcolate per gli ultimi n giorni. n è solitamente 7, 30 o 60.

Voglio sapere due cose. È un approccio incrementale praticabile, in cui eseguiamo solo un ETL per caricare i dati provenienti dall'ultimo ETL? Se sì, come possiamo archiviare i metadati richiesti per lo stesso?

    
posta spoderman 18.12.2018 - 10:38
fonte

1 risposta

0

Per le quantità che hai citato, gli aggiornamenti incrementali sono piuttosto semplici, specialmente quando le finestre temporali vengono sempre calcolate in giorni interi.

  • Penso che sia ovvio come aggiornare in modo incrementale un conteggio di alcuni record per un certo numero di giorni - assicurati di avere i valori conteggiati memorizzati per ogni giorno, quindi quando sposti la finestra di un giorno, solo sottrarre il conteggio del primo giorno precedente e aggiungere il conteggio del nuovo ultimo giorno della finestra

  • una somma di valori può essere aggiornata in modo analogo

  • una media viene calcolata come somma di alcuni record divisi per il numero di quei record: tieni solo la somma e i contatori dei record, che possono essere aggiornati in modo incrementale come menzionato prima

  • e suppongo che per "ratio" intendi il quoziente di altri due valori calcolabili incrementalmente - che funziona come il precedente calcolo medio

Se hai a che fare con altre quantità dove non è così ovvio come aggiornarle in modo incrementale, descrivi semplicemente loro, la community qui potrebbe dirti come gestirle.

    
risposta data 18.12.2018 - 22:24
fonte

Leggi altre domande sui tag