Requesting data from https://www.smartvote.ch/ and using it to train a neural network to guess which political party someone is from. Documentation is in German.
In diesem Projekt geht es darum, ein neuronales Netzwerk so zu trainieren, dass es anhand der Antworten, die Kandidierende fürs Parlament auf Smartvote eingegeben haben, deren jeweilige Partei zu erraten. Dazu sind 4 Schritte notwendig:
Als erstes werden die Daten von Smartvote geholt und als JSON-Datei gespeichert.
Im nächsten Schritt schauen wir uns die Daten etwas genauer an und erfassen einige ihrer Eigenschaften.
Zum Trainieren des neuronalen Netzwerks werden hier die Daten bereinigt. Dazu werden Erkenntnisse aus der vorhergehenden Analyse gebraucht.
Hier werden die Daten an das neuronale Netzwerk gefüttert und anschliessend wird gemessen, wie gut das Modell die Kandidierenden einteilen kann. Als Abschluss folgt dann noch eine kurze Interpretation der Fehlermatrix der Testdaten.
Für die optimale Erfahrung empfehle ich Visual Studio Code zu verwenden. Unter "Terminal" am oberen Bildschirmrand kann auch gleich ein neues Terminal geöffnet werden.
- Git installieren.
- Repository klonen mit
git clone https://github.com/lionelsemion/party-prediction.git && cd party-prediction
. - Python installieren.
- pipenv installieren. Auf Linux mit
sudo apt install pipenv
, auf Windoof nach dieser Anleitung - Libraries installieren mit
pipenv install
.
Die Notebooks können der Reihe nach ausgeführt werden. Das zweite (Daten Analysieren) muss zum Trainieren des NN nicht zwingend ausgeführt werden. Wenn Visual Studio Code verwendet wird, muss je nachdem zum Ausführen noch ein Kernel ausgewählt werden. Rechts oben hat es dazu einen Knopf. Es sollte der Kernel "party-prediction-..." gewählt werden. Wenn dieser nicht angezeigt wird, muss Visual Studio Code neu gestartet werden. Dort können auch gleich einige Erweiterungen installiert werden, die hilfreich für die Arbeit mit Jupyter sind.
Ich (Lionel Stürmer) habe das Projekt alleine entwickelt und dokumentiert