Hier werden die Bestandteile des Projekts erläutert und erklärt in welcher Reihenfolge die Skripte ausgeführt werden müssen.
Die nachfolgende Tabelle gibt an welche Dateien als Vorbedingungen für Skripte verfügbar sein müssen (Input), und welche Dateien von einem Skript produziert werden (Output). Dadurch wird die Reihenfolge der Skripte festgelegt.
Rank | Input | Skript | Output |
---|---|---|---|
1 | - | thomann_spider.py | thomann_reviews_all.csv |
2 | thomann_reviews_all.csv | preprocessing.ipynb | enriched_thomann_data.pickle |
3 | thomann_reviews_all.csv, enriched_thomann_data.pickle | mini_EDA.ipynb | - |
4 | enriched_thomann_data.pickle | baseline_model.ipynb | - |
5 | enriched_thomann_data.pickle | word2vec.ipynb | w2v_model.pickle |
6 | enriched_thomann_data.pickle, w2v_model.pickle | final_Modelling_v2.ipynb | Models Results |
Anmerkung: Da die Dateigrößen von enriched_thomann_data.pickle und w2v_model.pickle die maximale Uploadgröße von Github überschritten, müssen diese erst durch die entsprechenden Skripte erstellt werden.
Die einzelnen Komponenten des Projekts werden nachfolgend beschrieben. Dadurch wird die Aufgabe hinter jedem Ordner/Skript ersichtlich.
Für die Datenbeschaffung ist ein Webscraper in Python mithilfe des Scrapy Paket erstellt worden. Dieser extrahiert Bewertungen von der Webseite thomann. Das zugehörige Scrapy Projekt befindet sich im Ordner thomann_spider. Die aus dem Skript entstandene Datei ist thomann_reviews_all.
In diesem Skript werden die Daten exploriert. Dafür werden teilweise auch Methoden aus create_plots.py benutzt.
Die Datei thomann_reviews_all bildet den Input für das erste Skript preprocessing.ipynb. Hier findet das Negationshandling und klassisches Textpreprocessing statt.
Dieses Skript beinhaltet einige Methoden zur grafischen Exploration der Daten.
- final_Modelling_v2.ipynb: hier findet die Implementierung der einzelnen Machine Learning Pipelines statt. Diese kümmern sich um die Vorhersage der Sterne für Bewertungen.
- baseline_model.ipynb: erstellt Baseline Vorhersagen um die nachfolgenden Modelle besser evaluieren zu können.
- word2vec.ipynb: dieses Skript trainiert ein Word2Vec Model anhand der vorverarbeiteten Daten.