De mon point de vue, cette question convient à une réponse en deux étapes. La première partie, appelons- le pré-traitement logiciel , pourrait être considérée comme l'utilisation de différents algorithmes d'exploration de données pour pré-traiter les données de manière à ce qu'elles soient adaptées à des analyses ultérieures. Notez que cela pourrait être l’analyse elle-même, au cas où l’objectif serait suffisamment simple pour être abordé en un seul coup.
La deuxième partie, le prétraitement brutal , précède tout autre processus et peut être assimilée à l’utilisation d’outils simples ou de scripts pour nettoyer les données, en sélectionnant des contenus spécifiques à traiter. Pour résoudre ce problème, POSIX nous fournit un ensemble merveilleux d’outils magiques, qui peuvent être utilisés pour composer des scripts de prétraitement concis et très puissants.
Par exemple, pour les personnes qui traitent avec des données provenant de sites Web sociaux (twitter, facebook, ...), la récupération de données donne généralement des fichiers avec un format très spécifique - bien que pas toujours bien structuré, car ils peuvent contenir des champs manquants, etc. . Dans ces cas, un simple awk
script pourrait nettoyer les données, produisant un fichier d'entrée valide pour un traitement ultérieur. De l'ensemble de la magie, on peut aussi remarquer grep
, sed
, cut
, join
, paste
, sort
et une multitude d'autres outils.
Dans le cas où le fichier source contient trop de ressources, il peut également être nécessaire de produire un ensemble de méthodes pour nettoyer les données. Dans de tels cas, il est généralement préférable d'utiliser des langages de script (autres que ceux du shell), tels que Python, Ruby et Perl. Cela permet de créer des API pour sélectionner des données spécifiques de manière très simple et réutilisable. De telles API sont parfois rendues publiques par leurs rédacteurs, tels que IMDbPY , Stack Exchange API et bien d’autres.
Alors, répondez à la question: existe-t-il des meilleures pratiques? Cela dépend généralement de votre tâche. Si vous utilisez toujours le même format de données, il est généralement préférable d'écrire un script organisé pour le prétraiter. tandis que, si vous avez juste besoin d’un nettoyage simple et rapide de certains ensembles de données, comptez sur les outils POSIX pour obtenir des scripts de shell concis qui effectueront l’ensemble du travail beaucoup plus rapidement qu’un script Python, ou plus. Comme le nettoyage dépend à la fois du jeu de données et de vos objectifs, il est difficile de tout avoir déjà fait. Pourtant, de nombreuses API vous permettent de résoudre le problème à mi-chemin.