Aus meiner Sicht ist diese Frage für eine zweistufige Beantwortung geeignet. Der erste Teil, nennen wir ihn " weiche Vorverarbeitung" , könnte als die Verwendung verschiedener Data Mining-Algorithmen verstanden werden, um Daten so vorzuverarbeiten, dass sie für weitere Analysen geeignet sind. Beachten Sie, dass dies die Analyse selbst sein kann, falls das Ziel einfach genug ist, um in einem einzigen Schuss angegangen zu werden.
Der zweite Teil, die harte Vorverarbeitung , steht tatsächlich vor jedem anderen Prozess und kann als Verwendung einfacher Tools oder Skripte zum Bereinigen von Daten und zum Auswählen bestimmter zu verarbeitender Inhalte verstanden werden. Für dieses Problem bietet POSIX eine wunderbare Reihe magischer Werkzeuge, mit denen sich prägnante und sehr leistungsfähige Vorverarbeitungsskripten erstellen lassen.
Beispielsweise liefert der Datenabruf für Personen, die mit Daten von sozialen Websites (Twitter, Facebook, ...) zu tun haben, in der Regel Dateien mit einem sehr spezifischen Format - auch wenn dies nicht immer eine gute Struktur aufweist, da sie möglicherweise fehlende Felder enthalten . In diesen Fällen könnte ein einfaches awk
Skript die Daten bereinigen und eine gültige Eingabedatei für die spätere Verarbeitung erstellen. Von dem magischen Satz kann man auch darauf hinweisen grep
, sed
, cut
, join
, paste
, sort
, und eine ganze Menge anderer Werkzeuge.
Falls die Quelldatei einfach zu viele Fehler enthält, muss möglicherweise auch ein Methodenpaket zum Bereinigen von Daten erstellt werden. In solchen Fällen ist es normalerweise besser, Skriptsprachen (außer Shell-Sprachen) wie Python, Ruby und Perl zu verwenden. Auf diese Weise können APIs erstellt werden , mit denen bestimmte Daten sehr einfach und wiederverwendbar ausgewählt werden können. Solche APIs werden manchmal von ihren Autoren veröffentlicht, z. B. IMDbPY , Stack Exchange API und viele andere.
Beantwortung der Frage: Gibt es Best Practices? Es hängt normalerweise von Ihrer Aufgabe ab. Wenn Sie immer mit demselben Datenformat arbeiten, ist es normalerweise am besten, ein organisiertes Skript zu schreiben, um es vorab zu verarbeiten. Wenn Sie nur eine einfache und schnelle Bereinigung eines bestimmten Datensatzes benötigen, können Sie sich auf POSIX-Tools für kurze Shell-Skripte verlassen, die den gesamten Vorgang viel schneller erledigen als etwa ein Python-Skript. Da die Bereinigung sowohl vom Datensatz als auch von Ihren Zwecken abhängt, ist es schwierig, alles bereits erledigt zu haben. Es gibt jedoch viele APIs, mit denen Sie das Problem auf halbem Wege lösen können.