Herzlichen Glückwunsch! Im Interview berichtet er über sein Vorgehen.
Wilhelm ist 29 Jahre alt und promoviere gerade an der Uni Paderborn im Fach Elektrotechnik mit Schwerpunkt Maschinelles Lernen für die Temperaturschätzung in Elektromotoren. Und er hat den zweiten Platz bei der Code Competition „Machine Learning by ZF Friedrichshafen“ ergattert! Im Interview erfahrt Ihr mehr über ihn und seine Lösung.
Hallo Wilhelm, herzlichen Glückwunsch zu Deinem zweiten Platz bei der Code Competition „Machine Learning by ZF Friedrichshafen“! Erzähl den anderen IT-Talenten doch kurz etwas über Dich.
Wilhelm:
Hi, vielen Dank an IT Talents und ZF Friedrichshafen für das Hosten und Aufbereiten dieser Competition. Ich habe viel daraus mitgenommen und freue mich schon auf die nächsten Herausforderungen.
Ich bin 29 Jahre alt und promoviere gerade an der Uni Paderborn im Fach Elektrotechnik mit Schwerpunkt Maschinelles Lernen für die Temperaturschätzung in Elektromotoren.
Aufbauend auf den E-Technik Bachelor (dual mit Phoenix Contact) an der heutigen TH OWL, schloss ich konsekutiv, nach einem Auslandssemester in den USA, den E-Technik Master an der Uni Paderborn ab. Bevor es mich in die Forschung verschlug, arbeitete ich zwei Jahre als Software-Ingenieur bei einem Automobilzulieferer. Mich interessierten von Anfang an alle Themen rund um das Programmieren, was sich in eine Leidenschaft für Datenwissenschaften und maschinelle Lernverfahren (ML) weiterentwickelt hat.
Was hat Dich motiviert, an der Competition teilzunehmen und wie bist Du auf den Wettbewerb aufmerksam geworden?
Wilhelm:
Auf die Competition bin ich durch Werbung in den sozialen Medien aufmerksam geworden. Abgesehen vom ML Anspruch in der Aufgabenstellung, hat mich vor allem die Anforderung an ein solides Dashboard sehr gereizt. Mir war aus diversen Blogposts und Videos zu den Anforderungen eines Datenwissenschaftlers bzw. –analysten in der Industrie bewusst, dass allein das Bauen von ausgeklügelten ML Pipelines nicht viel nützt, wenn deren Prognosen nicht ansprechend in Form von Dashboards oder ähnlichen Reports kommuniziert werden kann. Dies machte diese Competition anders als solche, welche man üblicherweise auf Kaggle oder DrivenData findet. Da ich noch sehr wenig Erfahrung mit Dashboards hatte, sah ich diese Competition als die optimale Gelegenheit, diesen Skill zu erlernen.
Wie bist Du an die Lösung der Aufgabenstellung herangegangen?
Wilhelm:
Zuallererst habe ich mich mit dem Datensatz vertraut gemacht und versucht die Problemstellung zu verstehen. Nachdem ich mir ein Bild davon machen konnte, was gegeben ist und unter welchen Prozessen der operative Alltag bei ZF Friedrichshafen momentan läuft, konnte ich mir über Optimierungspotentiale Gedanken machen.
Für die Analyse und Verarbeitung der Daten konnte ich aus den mir bereits vertrauten Python-Tools schöpfen (konkrekt Numpy, Pandas, Matplotlib, Plotly, Scikit-Learn).
Für die webbasierte Visualisierung und Bereitstellung musste ich vorerst recherchieren.
Ich bewertete die frei zugänglichen Frameworks danach, wie skalierbar sie sind (von meiner Demo-Anwendung hin auf Enterprise-Größe), wie viele Web-Programming-Skills notwendig sind (die bei mir überschaubar waren), und wie fließend die Integration mit der Python-basierten Verarbeitung sein würde. Ich entschied mich zum Schluss für Dash von Plotly.
Nachdem die Entscheidung über die Tools, das Ziellayout und die Features getroffen war, konnte ich einen Plan über die nötigen Arbeitspakete aufstellen. Diese arbeitete ich dann ab.
IT-Talents: Wieso hast Du Dich für die Lösung der Aufgabenstellung mit Deinem Technologiestack entschieden?
Wilhelm:
Der ausgewählte Technologiestack bot mir genau die Mischung aus bekannten und neuen Tools, mit denen ich mir einigermaßen sicher war, in wenigen Wochen ein fertiges Produkt auf die Beine stellen zu können und gleichzeitig neue essentielle Fähigkeiten zu erlangen, die für meine Branche bzw. mein Arbeitsgebiet relevant sind. Abgesehen davon bin ich zuversichtlich, dass der Nutzen von ZF Friedrichshafen aus dem Produkt nicht außen vor ist, da die initiale Selektion des Frameworks die Skalierbarkeit mitberücksichtigte. Das Ziel war eine Win-Win-Situation.
Welche Probleme sind bei der Entwicklung der Software aufgekommen? Wie lange hat die Entwicklung gedauert?
Wilhelm:
Die Entwicklung dauerte etwas weniger als zwei Wochen mit deutlich mehr Arbeitsstunden pro Tag zur Deadline hin. Die Hauptherausforderungen bei diesem Projekt waren meine ersten Gehversuche mit CSS-Styling und HTML-basierter Komposition, sowie die Konzipierung von nützlichen ML-Features. Für letzteres fehlten mir noch einige prozessrelevanten Informationen sowie zugegebenermaßen die Zeit, um dennoch kreative Ansätze in die App einfließen zu lassen.
Und was hast Du durch die Entwicklung gelernt?
Wilhelm:
Dass Jupyter Notebooks deutlich weniger aufwändig sind als (Live-)Dashboards ;)
Scherz beiseite, ich bin durch die HTML- und CSS-Anteile des Dash-Frameworks ein wenig in die Welt des Webprogrammings eingetaucht und habe mich viel mit möglichen Dashboard-Layouts beschäftigt. Zwangsläufig auch damit, welche Arten von Prozessdaten es wert sein könnten visualisiert zu werden und in welchem Verhältnis Übersichtlichkeit und Informationsdichte angemessen sind.
Was würdest Du Dir thematisch gerne einmal als Code Competition wünschen?
Wilhelm:
Generell finde ich alle Fragestellungen bezüglich ML auf Industrie- und Prozessdaten hoch spannend. Stand Heute, sind darüber hinaus die meisten ML Competitions von der Natur des sog. Überwachten Lernens.
Eine Competition, bei der es gilt einen Algorithmus durch Reinforcement Learning zu erschaffen, der in einem industriellen Kontext sequentiell, messbar optimale Entscheidungen trifft, wäre mein persönliches Highlight.
Zu guter Letzt: Wie findest Du die IT-Talents.de Plattform, welche Verbesserungsmöglichkeiten siehst Du?
Wilhelm:
Die IT-Talents Plattform ist sehr ansprechend und bietet meiner Meinung nach ein tolles Medium, um sich als angehenden Informatiker schon einmal für den Einstieg in die Industrie zu positionieren. Spontan würden mir nur solche Features noch einfallen, die andere Competition-Plattformen anbieten z.B. Lern-Materialien/Kurse zum Thema ML, ein Ranking-System für die Nutzer, ein Daten-Hub/Lake mit allen Datensätzen, die Gegenstand der vergangenen Competitions waren etc.
Mir scheint auch, dass die Competitions keinen Spielraum für Gruppenarbeiten anbieten. Das macht die Zuweisung von Beiträgen in einer Submission einfach (eine Submission ist 100% auf eine Person zurückzuführen), schließt jedoch anregende Teamarbeit und die darin entstehenden Synergien aus.