Dal mio punto di vista, questa domanda è adatta per una risposta in due passaggi. La prima parte, chiamiamola preprocessing soft , potrebbe essere presa come l'uso di diversi algoritmi di data mining per preelaborare i dati in modo tale da renderli idonei per ulteriori analisi. Si noti che questa potrebbe essere l'analisi stessa, nel caso in cui l'obiettivo sia abbastanza semplice da essere affrontato in un singolo colpo.
La seconda parte, la dura preelaborazione , in realtà viene prima di qualsiasi altro processo, e può essere presa come l'uso di semplici strumenti o script per ripulire i dati, selezionando contenuti specifici da elaborare. A questo problema, POSIX ci fornisce una serie meravigliosa di strumenti magici, che possono essere usati per comporre script di preelaborazione concisi e molto potenti.
Ad esempio, per le persone che si occupano di dati provenienti da siti Web sociali (Twitter, Facebook, ...), il recupero dei dati di solito produce file con un formato molto specifico, anche se non sempre ben strutturati, poiché potrebbero contenere campi mancanti, e quindi . In questi casi, un semplice awk
script potrebbe ripulire i dati, producendo un file di input valido per l'elaborazione successiva. Dal set di magia, si può anche notare grep
, sed
, cut
, join
, paste
, sort
, e tutta una moltitudine di altri strumenti.
Nel caso semplice il file di origine ha troppi problemi, potrebbe anche essere necessario produrre un insieme di metodi per ripulire i dati. In questi casi, di solito è meglio usare linguaggi di script (diversi da quelli di shell), come Python, Ruby e Perl. Ciò consente alla creazione di API di selezionare dati specifici in modo molto semplice e riutilizzabile. Tali API sono talvolta rese pubbliche dai loro scrittori, come IMDbPY , Stack Exchange API e molti altri.
Quindi, rispondendo alla domanda: ci sono delle migliori pratiche? Di solito dipende dal tuo compito. Se hai sempre a che fare con lo stesso formato di dati, di solito è meglio scrivere uno script organizzato per elaborarlo in anticipo; mentre, se hai solo bisogno di una pulizia semplice e veloce su alcuni set di dati, conta su strumenti POSIX per script di shell concisi che faranno l'intero lavoro molto più velocemente di uno script Python o giù di lì. Poiché la pulizia dipende sia dal set di dati che dai tuoi scopi, è difficile avere tutto già fatto. Tuttavia, ci sono molte API che ti mettono a metà del problema.