Do meu ponto de vista, esta pergunta é adequada para uma resposta em duas etapas. A primeira parte, vamos chamá-lo de pré - processamento suave , pode ser tomada como o uso de diferentes algoritmos de mineração de dados para pré-processar os dados de maneira a torná-los adequados para análises posteriores. Observe que essa poderia ser a própria análise, caso o objetivo seja simples o suficiente para ser abordado de uma só vez.
A segunda parte, o pré-processamento rígido , na verdade é anterior a qualquer outro processo e pode ser considerada como o uso de ferramentas ou scripts simples para limpar dados, selecionando conteúdos específicos a serem processados. Para esse problema, o POSIX fornece um maravilhoso conjunto de ferramentas mágicas, que podem ser usadas para compor scripts concisos - e muito poderosos - de pré-processamento.
Por exemplo, para pessoas que lidam com dados provenientes de sites sociais (twitter, facebook, ...), a recuperação de dados geralmente gera arquivos com um formato muito específico - embora nem sempre seja bem estruturado, pois podem conter campos ausentes e, portanto, . Nesses casos, um awk
script simples pode limpar os dados, produzindo um arquivo de entrada válido para processamento posterior. A partir do conjunto mágica, pode-se também ressaltar grep
, sed
, cut
, join
, paste
, sort
, e uma multidão inteira de outras ferramentas.
Caso o arquivo de origem tenha muitos detalhes, talvez também seja necessário produzir um conjunto de métodos para limpar os dados. Nesses casos, geralmente é melhor usar linguagens de script (que não sejam shell), como Python, Ruby e Perl. Isso permite a criação de APIs para selecionar dados específicos de uma maneira muito direta e reutilizável. Às vezes, essas APIs são tornadas públicas por seus escritores, como IMDbPY , API Stack Exchange e muitas outras.
Então, respondendo à pergunta: existem práticas recomendadas? Geralmente depende da sua tarefa. Se você sempre lida com o mesmo formato de dados, geralmente é melhor escrever um script organizado para pré-processá-lo; enquanto que, se você precisar de uma limpeza simples e rápida em alguns conjuntos de dados, conte com as ferramentas POSIX para scripts concisos de shell que farão todo o trabalho muito mais rapidamente do que um script Python. Como a limpeza depende do conjunto de dados e dos seus objetivos, é difícil ter tudo pronto. No entanto, existem muitas APIs que o colocam no meio do problema.