Niklas Merz

March 13, 2021

DB Regio Data Hack - Machine Learning in der Cloud

Das ist die Fortsetzung zum letzten Post über den DB Regio Data Hack. Ich habe immer mal wieder ein bisschen Wissen zu Machine Learning aufgeschnappt aber nie praktisch angewendet und jetzt per trial and error ein bisschen experimentiert.

Nach ein paar Stunden Schlaf wache ich auf und sehe direkt eine E-Mail, dass mein Modell in AutoML fertig trainiert ist. Also gehe ich direkt im Webinterface in das neue Modell und teste ein paar einzelne Push-Nachrichten. Die Klassifizierungen sind wirklich gut und die Wahrscheinlichkeiten sehr eindeutig.

Jetzt möchte ich eine etwas größere Menge von Benachrichtigungen vom Modell klassifizieren lassen und auswerten. Ich nehme also eine zufällige Zahl von 500 Nachrichten aus meine Datenbank und exportiere sie als CSV. Dann schreibe ich ein Script was dieses  CSV über die API meines Modells in Google Cloud AutoML klassifiziert und die Wahrscheinlichkeiten für meine Labels in der Datei ergänzt.

Jetzt habe ich ein CSV was in etwa so aussieht:

time,text,Verspaetung,Bauarbeiten,Gleiswechsel,Anschluss
2020-12-09 08:18:27 UTC,Allgemeine Meldung: 4 Fahrt(en),0.07600678503513336,0.10608075559139252,0.09147530794143677,0.7264372110366821
2020-12-04 05:49:00 UTC,Die Verbindung von Reichenberg(Unterfr) (04.12.2020 05:41) nach Würzburg Hbf verspätet sich um +6 Minuten bei Ankunft in Würzburg Hbf (RB 8). Warten auf Fahrgäste aus einem anderen Zug,0.9983949065208435,0.00040348165202885866,0.0010623075067996979,0.00013930248678661883

Die Zeit und den Inhalt der Nachricht mit den Werten für alle Labels. Dieses CSV kann ich jetzt wieder in die Datenbank in BigQuery importieren und dort mit viel googlen ein SQL-Statement formulieren was mir für jede Nachricht das Label mit der höchsten Wahrscheinlichkeit gibt. Dank BigQuery und den weitern Google Tools kann ich mit dem Ergebnis dieser Abfrage ganz einfach ein Dashboard bauen und die Daten visualisieren.

grafik.png


Damit ist mein Ziel herausfinden welche Art von Meldungen versendet werden erst einmal erreicht. Das ganze kann man natürlich mit mehr Labels, besseren Trainingsdaten und einer größeren Datenmenge noch besser untersuchen.

Mein erstes Machine Learning Projekt

Der Hackthon und vor Allem die bereitgestellten Daten waren ein tolle Gelegenheit endlich mal Machine Learning praktisch anzuwenden. Die Tools der Google Cloud haben es wirklich sehr einfach gemacht mit diesen großen Datenmengen zu arbeiten, Visualisierungen zu erstellen und ganz einfach mit Machine Learning zu starten. Die Dokumentation dazu war auch sehr gut und ich bin ohne wirklich Erfahrung in der kurzen Zeit weit gekommen.

AutoML für die Textklassifizierung ist wirklich sehr angenehm zu verwenden und verstehen. Man muss aber vorsichtig sein denn es kann sehr schnell sehr teuer werden und es ist wie bei allen Cloud Produkten schwierig zu wissen wie viel die Nutzung gerade wirklich kostet. Gerade mit meinen Tausenden bis Millionen Benachrichtigungen ist es nicht wirklich machbar ohne ein Vermögen auszugeben.

Jetzt bin ich auf jeden Fall angefixt und werde diese Daten nochmal mit Tensorflow oder einem ähnlichen Framework auf meiner eigenen Hardware ausführen. Tensorflow hat beispielsweise ein gute Quickstart Tutorial für Textklassifizierung und damit sollte ich auch besser verstehen was AutoML im Hintergrund alles automatisch für mich gemacht hat. Dann kann ich auch größere Datensätze ohne Angst vor einer großen Rechnung verwenden. Also ein schönes Projekt für die nächsten verregneten Tage.

BigQuery finde ich eigentlich ziemlich gut zum Verarbeiten den CSV Dateien und erstellen von Visualisierungen. Da muss ich mir das Preismodel nochmal genauer anschauen und schauen welche Alternativen es noch gibt.

Da ich sonst eher in der Web-, App- und Backendentwicklung war das Thema des Hackthons mal was anderes und ich habe einiges neues gelernt und es hat Spaß gemacht mit den vielen Daten zu experimentieren.

Vielen Dank an DB Regio und alle anderen Firmen für die gute Organisation des Hackathons, die Daten und die netten Extras wie T-Shirt, Swag und Abendessen sogar remote.