Intro (00:00:00)
Thema des Podcasts (00:00:18)
Willkommen zur 26. Folge beim datenleben-Podcast, dem Podcast über Data Science. Wir sind Helena und Janine und möchten euch die Welt der Daten näher bringen. Was für Daten gibt es? Was können wir aus ihnen lernen? Und wie können wir sie überhaupt benutzen? Wer schon immer mehr darüber wissen wollte, ist hier richtig, denn diesen Fragen gehen wir nach.
Thema der Folge (00:00:39)
Wir haben zusammen mit zwei anderen Menschen an einem datathon teilgenommen und möchten heute darüber erzählenUnd zwar handelte es sich um den Women in Data Science Datathon der Stanfort UniversityWeltweit haben mehrere Hundert Teams teilgenommen und wir wollten auch mitmischenWas wir dabei und wie wir das erlebt haben, wie wir uns organisiert haben und was die interessanten Probleme waren, die sich uns dabei gestellt habenAusserdem welche Lösungen wir -- und auch andere -- entwickelt haben Dazu haben wir natürlich die anderen beiden auch eingeladen, die sich gleich noch kurz vorstellen, nachdem Helena uns jetzt erstmal erzählt, warum wir das Thema interessant genug für eine Folge finden Also es geht gleich darum, wie der Datathon strukturiert war, wie wir uns organisiert und wie wir gearbeitet haben und was allgemein so unsere Erfahrung damit warWarum ist das Thema interessant? (00:01:35)
Seit Lisa in Folge dl018: 3d-modelle aus fotos vom Coding da Vinci Datathon erzählt hat, wollten wir auch mal an einem Datathon teilnehmenWeil datathons bieten praxisnahe Themen und im Team arbeiten, analysieren und lernen macht SpaßDie Teams durften aus bis zu 4 Leuten bestehen und deswegen haben wir uns Verstärkung geholtZum einen Piko, Piko war schon in der Folge dl021: python lernen! dabeiZum anderen Keks, die heute zum ersten Mal bei uns im Podcast istWer sind Piko und Keks? (00:02:53)
Piko wohnt in Hamburg, eigentliche Ausbildung Musik und Stimmeist über Hacking und Aktivismus in die Informatik gekommengibt Python-Kurse und promoviert zur Anwendung von Maschinelearning im MusiktheaterNebenher ganz viel Feminismus; bei den Haecksen aktivKeks schreibt gerade eine Masterarbeit in Astrophysik, muss dafür auch Dinge programmierenAm Datathon auch teilgenommen, um eingerostete Pythonkenntnisse für die Masterarbeit aufzufrischen wollenAnsonsten vor allem mit politischer Bildungsarbeit beschäftigtEinspieler: Was ist ein Datathon? (00:04:02)
Ein Datathon ist im Wesentlichen das gleiche wie ein HackathonUnd ein Hackathon wiederum ist eine Veranstaltung, bei der innerhalb eines bestimmtes Zeitraumes Projekte entwickelt oder weiterentwickelt werden.Es setzt sich zusammen aus Hacken und Marathon.Ziel ist es in der vorgegebenen Zeit mit technischen und kreativen Ansätzen Lösungen für die gestellte Aufgabe oder das vorliegende Problem zu finden.Beziehungsweise verbergen sich hinter einem Hackathon oft weitere Ziele, die über die Aufgabenstellung hinaus gehenManche Firmen und Unternehmen nutzen diese als eine Form der ProduktentwicklungOft können auch Start-Ups aus Hackathons entstehen Andere richten sich eben an bestimmte Zielgruppen, zum Beispiel auch an Jugendliche, um die Auseinandersetzung mit Technologie zu fördern und einiges mehrBeim Datathon geht es wiederum ganz konkret um den Umgang mit Daten.So auch beim Datathon der Stanfort University, der zusammen mit der Konferenz Women in Data Science stattfindet.Im Falle des Women in Data Science Datathons ist das Ziel, Frauen zum Einstieg in Data Science zu ermutigenEntsprechend sieht auch das Angebot aus, sich bei der Konferenz zu beteiligen, an Workshops teilzunehmen und sich mit anderen zu vernetzen.Bei der diesjährigen Ausgabe war das Thema Umwelt und Klimawandel im FokusEs gab einen großen Datensatz mit Gebäuden und deren spezifischen Eigenschaften wie Gebäudenutzung, Gebäudetyp, welcher von x möglichen Standorten als VariableZusätzlich waren Angaben zu den klimatischen Bedingungen gegeben, wie Hitzetage, Nebel, Niederschlag und mehrEs wurden über 25800 Einträge auf der Plattform des Datathons vorgenommenVon über 4000 Registrierungen haben 1800 Personen Einträge vorgenommenUnd die Teilnehmer*innen kamen aus über 90 LändernWie war dar Datathon organisiert? (00:05:59)
Die Anmeldung erfolgte über die Stanfort UniversityZusätzlich mussten wir uns auch auf https://kaggle.com/ anmeldenKaggle: bietet die Möglichkeit Datathons einzurichten, Teams zu bilden, Daten auszutauschen, sich zu vernetzenIst so eine Art Social Media für Data ScientistsWir haben dort einen Datensatz mit über 70.000 Einträgen bekommen und einen zweiten Datensatz mit über 10.000Mit dem kleineren Datensatz sollten wir dann Testen den Energieverbrauch vorherzusagen und unser Ergebnis auf der Plattform hochzuladenDas wurde dann mit den echten Werten abgeglichen und dann tauchen die einreichenden Teams auf dem Scoreboard auf, wo zu sehen ist, wer wie nah herangekommen ist an die echten WerteDas wurde während des Datathons auf der Hälfte der Daten gerechnetAus dem Grund, damit der eigene Algorithmus nicht nur darauf abgestimmt wird, einen besseren Score auf dem Leaderboard zu erhaltenEs gab auf Kaggle auch Beispielauswertungen von den Veranstalter*innen, als erste AnhaltspunkteDer Datathon ging 2,5 Monate und wurde die ganze Zeit von weiteren Veranstaltungen begleitetUnter anderem: Vorträge zum Datensatz, wie bestimmte Modelle bearbeitet werden etc.Weil wir dort ein Team bilden mussten auf Kaggle, haben wir uns auch einen Namen gegeben: Intrusive UnicornFirst things first: Unser Team Name lautet Intrusive Unicorn - Aufdringliches EinhornFür das besteste Teamfeeling entstand dafür auch ein Logo, was sehr motivierend warWie haben wir uns organisiert und die Daten erschlossen? (00:10:03)
1 wöchentliches Treffen, wo wir zusammen Dinge besprechen, Aufgaben verteilenDazwischen gab es Treffen, wo wir zu zweit an den Dingen gearbeitet habenEs gab 2 Arbeitstreffen um konkret am Code zu frickeln und anzupassen -> PairprogrammingPairprogramming: 1 Person ist der "Driver", die Person, die alles ausführt und 1 Person (bei uns mehrere), die die Ansagen macht, was gemacht werden muss Es bearbeitet immer nur die 1 Person den Code, während die andere eben Vorschläge macht etc.Vorher mussten wir aber die Daten kennenlernenWichtig: Wie kriege ich gute Daten hin? Vor allem wenn viele Informationen fehlen?Eine Sache war das Energy Star Rating, das nur für 70% der Gebäude vorlagAlso erste Frage: Kann man damit was anfangen?Zweite Frage: Was kann man damit anfangen?Es gibt verschiedene Daten: einige sind Zahlen, andere nicht facility_type: 1 Kategorie mit 60 verschiedenen MöglichkeitenWohnhäuser, Geschäftshäuser, etc.Einzelne davon kommen sehr oft vor, andere sehr seltenIdee: Wir müssen die Kategorien in Zahlen umwandelnPiko hat dafür das Vorgehen mit One Hot Encoding vorgeschlagenWas ist One Hot Encoding? (00:13:42)
Nehmen wir 5 Häusertypen: Wohnhaus, Schuppen, Tiefgarage, Mehrfamilienhaus, BüroturmProblem: weisen wir einfach der Reihe nach die Zahlen 1 bis 5 zu, stolpert die KI darüber Wenn es unsicher ist, ob es 1 oder 3 ist, würde die KI die Mitte, also 2 ausgeben und damit einfach sagen: Es ist ein Schuppen!Das funktioniert also nicht Bei One Hot Encoding werden aus 1 Kategorie mit 5 Variablen erstmal 5 Kategorien gemachtUnd dann wird geguckt zu wie viel Prozent das Ding in welche Kategorie passt Wenn es zu 0,4% ein Wohnhaus, zu 0,2% ein Schuppen und zu 0,3% ein HochhausSo hat man zwar viele Kategorien, weiß aber, welche Ausprägung davon wahrscheinlicher ist/stattfindet Das ist wichtig, weil ja der Schuppen nicht das Mittelding aus Wohnhaus und Hochhaus ist Aus der Kategorie mit 60 Ausprägungen haben wir letztendlich 3 Kategorien gemacht, weil wir Subtypen zusammengefasst habenWas gab es noch für Stolpersteine in den Daten? (00:16:48)
Ein Beispiel ist die Jahr-KategorieDie wich manchmal zwischen den beiden Datensätzen voneinander ab, deswegen haben wir sie erstmal ausgelassenDie Bundesstaaten haben wir nicht mit Namen genannte bekommen, sondern mit Zahlen von 1 bis 6Die waren in beiden Datensätzen jeweils unterschiedlich häufig vorhandenIn die Daten wurde im Vorfeld viel Arbeit gesteckt, um zum Beispiel die Bundesstaaten zu anonymisierenEine Idee die wir zwischendruch hatten: Die Daten deanonymisieren, aber das haben wir schnell verworfenWir haben uns sehr intensiv damit befasst, wofür die Spaltennamen stehen und was wir damit tun sollenJanine und Keks hatten ein Treffen, um sich nur damit zu befassen, was eigentlich hinter den Daten stecktTeils steckten da komplexe meteorologische Rechnungen und Angeben hinterEs war auch sehr spannend, erstmal von den Zahlen zurückzutreten und zu überlegen, was das jeweils bedeutet und wie man damit umgehen kannFragen: Was hat welchen Einfluss? Ist diese Angabe für uns überhaupt wichtig?Energy Star Rating spielte vermutlich eine sehr große Rolle, die maximale Windgeschwindigkeit vermutlich eher nichtHaben uns auch die Frage gestellt, warum diese Analyse und der Versuch so einer Vorhersage überhaupt relevant istWas könnte das Ziel dieser Analyse sein? Wie und wofür kann diese angewendet werden?Zum Beispiel, wie wird sich der Energieverbrauch haben, welche Häuser sollten gebaut werden?Passt dieser Häusertyp in diese Region mit seinem Energieverbrauch?Könnte das Modell helfen in die Zukunft zu projizieren, wie sich die Energiebilanz der Häuser ändert, wenn sich das Klima in der jeweiligen Region wie verändert?Janine fand es sehr hilfreich nicht nur abstrakt mit den Daten umzugehen, sondern einen praktischen Ansatz zu wählen und zu überlegen, was diese Analyse leisten kannBaujahre der Gebäude: Es gab ein Gebäude das im Jahr 0 gebaut wurdeDas stach sehr heraus und es kann vermutet werden, dass das vielleicht ein Defaultwert istDie nächste Jahreszahl war dann etwas mit 1600Wir brauchten statt der 0 aber einen "richtigen Wert", also haben wir ein Durchschnittsbaujahr berechnet und eingetragenSo etwas haben wir bei einigen anderen Parametern auch gemacht, fehlende Werte wurden häufiger durch Durschnittswerte ersetztOder auch mal mit dem Median, was der mittlere Wert ist zwischen allen Werten, die Existieren und nicht der Durchschnitt als allen vorhandenen WertenEine andere Option: Wenn in einem Datensatz zu einem Gebäude zu viele Werte fehlen, kann man den auch mal ganz rauswerfenBei Datensätzen zu 70.000 Gebäuden macht es nichts, wenn einige fehlen Einige Spalten/Kategorien haben wir auch entfernt, weil dort teilweise bis zu 80% der Daten fehltenOder eben ob die Angabe für uns überhaupt spannend, hat es einen Effekt auf unser Modell?Da mussten wir eine Balance für findenDie Daten waren ja im Vorfeld auch schon gut bearbeitet, das war auch Teil der HerausforderungEinige Probleme wurden absichtlich im Datensatz belassen, da auch das Bereinigen der Daten Teil der Aufgabe von Data Scientists istFür die Bereinigung der Daten haben wir uns viele Histogramme und Boxplots angeguckt, wie oft kommen welche Daten vor etc.Unsere Einreichung: Neuronales Netz oder doch ein Entscheidungsbaum? (00:29:12)
Danach ist die Frage: Wie kommen wir von den Daten auf die Zahlen, die wir am Ende ausrechnen wollen?Wir haben mit einem neuronalen Netz angefangenDas sind sozusagen mathematische Funktionen, die hintereinander geschaltet werden und ihre Ergebnisse aneinander übergebenDiese einzelnen Fuktionen werden als Neuronen, wie sie in Gehirnen existieren, bezeichnetSo viele Zahlen, wie man in das Netz wirft, so viele Neuronen hat es zu beginnAm Ende wirft es dann ebenfalls Zahlen rausWenn ein Ergebnis rauskommt, dass wir abgleichen können mit realen Daten und sehen, dass das nicht stimmt, können wir das neuronale Netz anpassen, bis es in diesem Punkt stimmtProblem Overfitting: Wenn das Modell zu gut auf die Trainingsdaten angepasst ist, funktioniert es vielleicht nicht richtig auf den echten Daten dannDeswegen teilt man die Daten vorher in verschiedene Gruppen auf: Trainingsdaten, Testdaten, ValidierungsdatenDamit das neuronale Netz nicht zu spezifische Regeln "auswendig lernt" und sie auf alles anwendet, auch wenn es nicht mehr passt Wir haben herausgefunden, dass das Energy Star Rating die Vorhersage durchgehend besser macht, als wenn es ausgelassen würdeAber weil das teilweise als Angabe fehlte, und wir mit diesem Modell auch recht weit hinten im Scoreboard waren, haben wir weiter überlegt, was es für Optionen gibtNur weil neuronale Netze hip und cool sind, müssen sie ja nicht die beste Lösung seinHelena kam darauf, dass die besseren Vorhersagen von einem Entscheidungsbaum erzeugt wurdenEntscheidungsbäume verwenden wir selbst auch ganz oft, zum Beispiel wenn wir uns beim Aufräumen entscheiden müssen, wohin wir etwas tunNimm einen Gegenstand in die Hand: Ist es ein Kleidungsstück? Wenn Ja, tu es in den Kleiderschrank. Wenn nein, ist es ein Buch? Wenn ja, tu es in das Bücherregal, etc.So können belieb komplizierte Bäume mit Verzweigungen entstehen und jeder Gegenstand wird dabei behandeltEntscheidungsbäume werden von der Maschine selber gebaut, sieht im Datensatz Dinge und errechnet daraus, welche Regeln am effizientesten sindWas sollte als erstes gefragt werden, um den größten Teil klar aufzuteilen?Wir haben die Modelle mit verschiedenen Entscheidungsbäumen gerechnet Um die Ergebnisse zu optimieren, hat Helena ein paar Werte mit Durchschnitten verschiedener Modelle berechnet Damit sind wir dann auf Platz 337 von 829 Teams gelandet, also in den Top 50% Mit den neuronalen Netzen wären wir im letzten Zehntel gelandet Die ersten 6 Wochen haben wir uns fast nur damit befasst: Was passiert hier eigentlich in den Daten?Wie sahen andere Lösungen aus? (00:40:44)
Nach dem Datathon haben auch andere Teams ihre Einreichungen veröffentlicht?Die Bäume kamen auch bei den besten Einreichungen mit vorEs war offensichtlich, dass sie auch mehr Zeit investiert haben, um mehr Details zu testen Offenbar hatten die auch eine ganz wesentliche Erkenntnis: Wenn man kein Energy Star Rating hat, wird das Ergebnis immer auf die gleiche Weise unterschätztSie haben das dann immer mit einem konstanten Faktor multipliziert und da verschiedene Faktoren getestetHelena weiß nicht warum das funktioniert, ist aber sehr fasziniert von dem ErgebnisEine konstante Verschätzung heißt, dass Modell hat einen BiasEine andere Gruppe hatte Entscheidungsbäume und neuronale Netze und mehr ausprobiert, die haben die Ergebnisse aus allen Modellen genommen und dann gewichtet und daraus Durchschnittswerte gebildet, die das Modell besser gemacht haben Das hatte Helena innerhalb der Entscheidungsbäume auch so gemacht bei uns, aber eben nicht mit verschiedenen ModellenWie war der Datathon für uns? (00:43:47)
Was war schwierig? Was hat uns sehr gefallen?Für Janine war der schwierige Part das Verständnis für den Datensatz zu entwickeln Dabei sind auch schön viele Randbereiche aufgetaucht, in die man sich einarbeiten konnte Es ist sehr cool mit einem Team teilzunehmen, in dem man sich wohl fühltUnd es ist schön zu merken, dass jede*r sich einbringen konnte mit dem eigenen Wissen Keks hat es Spaß gemacht im Team, auch kennen zu lernen, wie die anderen arbeitenSchön war auch, dass alles ohne Druck war und wir einfach nur schauen wollten, wie es istHat ein Gefühl für Data Science und Maschinelearning entwickelt und wird sich vielleicht auch beruflich in diese Richtung orientierenFand es spannend zu sehen, mit was für unterschiedlichen Voraussetzungen wir was beitragen konnten Es macht Sinn, wenn wir was lernen wollen, auch mal was ganz anderes inhaltlich zu machen und dabei etwas zu lernen, was auch angewendet werden kannFür Piko war ausschlaggebend die gute Atmosphäre im Team, zum Beispiel in den Pairprogramming SessionsEs gab kein Ungleichgewicht, dass einzelne nur erklärt haben, sondern Austausch und Beitrag von allenFand es gut Maschinlearning auch mal praktisch anzuwenden und zu merken, dass die vorher theoretisch gelernten Sachen auch verstanden waren und angewendet werden konnten Helena fand es auch cool im Team zu arbeiten, allein für die Motivation und die Verbindlichkeit am Ball zu bleibenFand es gut Maschinelearning mal wieder aufzufrischen und anwenden zu können, weil es im Berufsalltag eher weniger vorkommtInhaltliches Learning: Mit neuronalen Netzen angefangen, aber nur weil es vielseitig und komplex ist, ist es nicht unbedingt das beste, es geht auch mal mit einfacheren ProzessenVorbereitung der Daten hat echt viel Zeit in Anspruch genommenWürden wir das wieder machen? Ja!Fazit (00:50:26)
Der Women of Data Science Datathon war gut aufgezogen, es gibt Infos, Veranstaltungen und Austausch auch zwischen den Teams via KaggleWir hatten eine feste Arbeitsstruktur mit regelmäßigen treffen, 1x Woche + Treffen zu Themen zu zweitVon den Skills her divers aufgebaute Teams können gut funktionieren, es sollten aber ein Mensch dabei sein, der*die schon Erfahrungen im Bereich Data Science hatEs geht super viel Zeit drauf, um die Daten kennenzulernen und zu putzenFür diesen Datathon hat für unser Team der Entscheidungsbaum besser funktioniert als ein neuronales NetzWichtigstes Fazit: Austausch einfach super wichtigFeststellung: Es ist möglich Vorhersagen über den Energieverbrauch zu treffenSpannend, weil es zeigt, dass es möglich ist, mit dieser Datenanalyse wirklich praktische Dinge machen zu könnenFalls Menschen zuhören, die Interesse daran haben auch mal mitzumachen: der Women in Data Science Datathon findet offenbar jedes Jahr stattAnsonsten gibt es auch andere Datathons über Kaggle zu findenNächste Folge: Wasserspiegel im Juni 2022 (00:53:21)
Es geht um das Klima, wir machen mit der klimadaten-Reihe weiterWir hatten in dl007: klimadaten über die Aspekte Waldbrände, Meeresspiegelanstieg und Temperaturkurven geredet und dann zu jedem eine eigene Folge machen wollenDavon sind bereits erschienen: dl008: temperaturkurven und dl014: waldbrändeJetzt geht es in Folge 27 weiter mit Meeres- bzw. WasserspiegelDafür gucken wir uns die letzten beiden Veröffentlichung der IPCC Berichte an Wir gucken uns an wie sich das da mit dem Meeresspiegel und der Klimakrise und grundsätzlich Wasser auf diesem Planeten verhältCall to Action (00:54:35)
Wenn ihr uns weiter hören möchtet, folgt uns auf Twitter unter @datenleben & Mastodon unter @[email protected] Oder besucht unsere Webseite: www.datenleben.deHinterlasst uns gerne Feedback, wir würden uns darüber sehr freuenIhr könnt uns als Data Scientists auch Buchen für Analysen oder ProjekteAusserdem hat Helena auf einen Vortrag gehalten, der inzwischen auf YouTube veröffentlicht ist: Guckt gerne auch Helenas Vortrag von der PyConDE & PyData Berlin, die im April stattfand: Rewriting your R analysis code in PythonHabt ihr Fragen oder Themen, die euch interessieren? Dann schreibt uns!Outro (00:55:41)
Schlagworte zur Folge
Hackathon, Datathon, Maschine Learning, Neuronales Netz, Neuronale Netze, Entscheidungsbaum, Entscheidungsbäume, Teamarbeit, Data Science, Datenanalyse
Links
WiDS Datathondl018: 3d-modelle aus fotosdl021: python lernen!Wikipedia: Hackathonhttps://kaggle.com/dl008: temperaturkurvendl014: waldbrändeYouTube, PyData: Helena Schmidt – Rewriting your R analysis code in Python