Boost Your Model: Wie funktioniert Data-Science im Maschinenraum?

Shownotes

Summary: In this conversation, Aleksander Fegel and Dr. David Geisel discuss the critical aspects of feature selection and engineering in data science. They explore the importance of understanding features, the role of data quality, and the necessity of engaging with domain experts. The discussion covers various methods of feature selection, including filter methods, wrapper methods, and embedded methods, emphasizing the need for simplicity and clarity in model building. The conversation concludes with insights on how to effectively interpret model predictions and the significance of collaboration in data science projects.

Takeaways: -Feature selection is essential for successful data modeling. -Data quality significantly impacts model performance. -Engaging with domain experts enhances feature selection. -Simplicity in models often leads to better results. -Feature importance helps in understanding model predictions. -Different methods exist for feature selection, each with pros and cons. -Collaboration between data scientists and domain experts is crucial. -Feature engineering is a continuous process in data science. -Understanding the context of data is vital for effective modeling. -Iterative testing and validation are key to successful feature selection. titles

Transkript anzeigen

00:00:00: Hallo David!

00:00:02: Hey Alex!

00:00:04: Irgendwie fehlt hier heute einer in der Runde, der Janis.

00:00:08: Wir machen heute mal ein bisschen was Neues.

00:00:10: Ja, Janis hat sich gedrückt.

00:00:12: Ich glaube der muss die ganze Zeit Schachwärmen gucken.

00:00:14: Ja, ja, ja, er versucht immer noch dich irgendwann besiegen zu können.

00:00:18: Und vielleicht lernt er ja was von den großen, der weiß.

00:00:21: Also wenn er auf das Level kommt, wird es dunkel für mich.

00:00:24: Wenn er diese Podcasts voll gehört, wird er sich auf jeden Fall schon mal ärgern.

00:00:29: Aber so soll es ja auch sein.

00:00:32: Aber davon abgesehen, worum geht es heute überhaupt?

00:00:35: Wir haben ja eben mit ChatGBT schon einen Versuch, den Titel für die Podcastfolge zu finden,

00:00:39: weil wir da super in kreativ sind.

00:00:41: Dann sind irgendwo bei Boost Your Model rausgekommen.

00:00:44: Wie kann ich Modelle besser machen?

00:00:46: Wie kann ich Modelle überhaupt erfolgreich machen mit Daten?

00:00:49: Und das ist ja irgendwo unser Kerngeschäft, oder?

00:00:52: Genau, eine Sache, die immer wieder,

00:00:55: eine Herausforderung, vor der wir immer wieder stehen.

00:00:58: Und eher ein Beispiel, was wir im Kopf hatten,

00:01:03: worüber wir heute sprechen wollen, ist ja der Fall,

00:01:06: dass ich zum Beispiel irgendwo in der Produktion, in einer Fabrik Maschinen stehen habe.

00:01:13: Die haben Tausende von Sensoren, die schicken mir ganz viele Daten.

00:01:16: Und wie schaffe ich jetzt diese Daten so, dem Modell zur Verfügung zu stellen,

00:01:22: dass das sinnvolle Vorhersagen damit machen kann?

00:01:24: Und der technische Überbegriff für die ganze Sache ist Feature Selection.

00:01:28: Genau, und ich bin im Prinzip dafür da, um zu verhindern,

00:01:32: dass es zu technisch wird und sichert zu stellen,

00:01:34: dass auch Dummies wie ich noch was verstehen.

00:01:36: Meine Freundin hört ja auch den Podcast.

00:01:38: Meine Freundin sagt immer, wenn der David dabei ist,

00:01:41: dann ist das immer manchmal ein bisschen viel für sie.

00:01:44: Von daher bin ich heute da, um dich ein bisschen ins Saum zu halten.

00:01:50: Das kannst du versuchen, aber es hat noch niemand geschafft.

00:01:55: Ja, der Janis hat es nicht geschafft.

00:01:59: Es hat ja noch kein anderer versucht, aber wir gucken es mal.

00:02:01: Das wird schon.

00:02:03: Von daher, du hast ja schon den Begriff Feature Selection gerade gedroppt.

00:02:07: Und darum geht es ja heute im Großen und Ganzen.

00:02:12: Fangen wir vielleicht mal ein bisschen früher an für die Leute,

00:02:14: die sich wirklich mit Data Science gar nicht auskennen.

00:02:16: Was ist denn ein Feature überhaupt, wenn ich Feature höre,

00:02:18: denke ich erstmal an eine Software, die ohne Fähigkeit hat,

00:02:22: die man kann in Word die Schriftik machen.

00:02:24: Das ist ein Feature für mich erstmal.

00:02:26: Aber im Data Science Bereich ist das ganz klar definiert, oder?

00:02:30: Genau, also im Machine Learning ist ein Feature,

00:02:34: im Prinzip ein Teil der Infodaten, die du da im Modell gibst,

00:02:39: basierend auf denen es dann eine Vorhersage machen soll.

00:02:43: Und wenn wir eben bei dem Beispiel bleiben,

00:02:46: ich habe irgendwelche Sensordaten, dann ist es ja so,

00:02:49: so ein Temperatursensor, der schickt dir alle paar Sekunden,

00:02:53: alle paar Minuten eine Temperaturwert, da hast du jetzt ganz, ganz viele Werte.

00:02:57: Du willst irgendwas vorhersagen in deiner Maschine, geht die kaputt oder nicht,

00:03:01: wird der Test funktionieren oder nicht.

00:03:03: Und die Frage ist, was gebe ich meinem Modell mit?

00:03:06: Also welche Zahl gebe ich dem mit?

00:03:08: Gebe ich dem immer wirklich die Temperatur jetzt gerade

00:03:11: oder mache ich damit noch irgendwas?

00:03:14: Ich nenn das dann Feature Engineering, ich kann irgendwie den Mittelwert

00:03:17: über Temperatur nehmen oder den Minimalwert, irgendwie sowas.

00:03:20: Und das, wie ich diese Rohdaten in eine konsistente Form bringe,

00:03:24: das nenne ich dann Feature.

00:03:26: Das gebe ich dem Modell mit.

00:03:28: Du definierst quasi, wie diese Rohdaten am nützlichsten sind,

00:03:32: um dem Modell Informationen zu geben, damit es da auch schlauer wird

00:03:35: und trainieren kann.

00:03:37: Du bereitest quasi die Informationen vor,

00:03:39: so wie der Professor an der Uni jetzt nicht einfach das ganze Buch,

00:03:42: den Studenten hinschmeiß, sondern sich einfach mal rausguckt,

00:03:45: okay, was kann ich daraus am besten nutzen,

00:03:48: was ist wichtig für die und wie bringe ich den das an der Tafel beididaktisch.

00:03:52: Das machst du quasi fürs Modell an der Stelle als Data Scientist.

00:03:55: Genau, können wir so stehen lassen.

00:03:57: Super.

00:03:59: Und das ist ja eigentlich so eine Grundfähigkeit von einem Data Scientist.

00:04:03: Ich glaube, wenn du was studierst in die Richtung,

00:04:05: wenn du anfängst dich mit Data Science zu beschäftigen,

00:04:08: ist Feature Engineering Feature Selection wahrscheinlich eines der ersten Themen,

00:04:11: mit denen du irgendwie zu tun hast, oder?

00:04:13: Genau, und es ist abgehoben, was man dann irgendwann als Senior-Sinior

00:04:17: nach zehn Jahren sich mal anschaut.

00:04:19: Ne, du musst das eigentlich immer machen.

00:04:21: Also du kannst ja de facto kein Modell ohne ein Feature trainieren.

00:04:26: Aber es wird auch nie auf.

00:04:30: Also wir sind da immer noch dabei in unseren Projekten,

00:04:33: den immer wieder den besten Ansatz für das jeweilige Projekt zu finden,

00:04:38: das beste Featureset.

00:04:40: Und das ist dann so gesehen wie deine Wissenschaft für sich.

00:04:44: Ja, auf jeden Fall.

00:04:46: Ich würde sogar sagen, von dem was ich in unserem Projekt mitbekomme,

00:04:50: ist das das absolute A und O, ob ein Projekt erfolgreich ist oder nicht.

00:04:53: Am Ende scheitert es oft zum Teil vielleicht an der Datenqualität.

00:05:00: Aber wenn man halt eine gute Featureslection macht

00:05:03: und ein gutes Feature Engineering,

00:05:05: dann muss man die Datenqualität noch viel rausholen, oder?

00:05:08: Wäre ich jetzt vorsichtig, aber ich würde sagen,

00:05:14: es sind beides Sollen, auf die man nicht verzichten kann.

00:05:17: Also bleiben wir wieder bei den Sensordaten.

00:05:20: Erstmal müssen die Rohdaten stimmen.

00:05:22: Es muss vernünftig, also die Messungen müssen stimmen,

00:05:25: sagen wir, der Temperatursensor, wenn die Temperaturen falsch sind,

00:05:28: die der liefert, dann werde ich wahrscheinlich auch keinen Feature Engineering mehr hinbekommen,

00:05:33: wenn der Messer falsch wird und dann so schlechte Datenqualität,

00:05:37: die kann ich hinten raus nicht mehr retten.

00:05:39: Aber das muss ich haben.

00:05:41: Wenn ich nur das habe und ich habe ganz tolle Rohdaten,

00:05:44: und ich weiß aber nicht, wie ich die aufbreiten

00:05:46: und meinem Modell, die zur Verfügung stellen kann,

00:05:48: dann kann mein Modell trotzdem große Probleme haben,

00:05:51: überhaupt etwas draus zu lernen.

00:05:53: Der Jusges, da nehme ich uns ja -

00:05:55: Deswegen ist das auf jeden Fall der wichtige zweite Schritt.

00:05:58: Der Jusges, da nehmen wir uns ein bisschen langhangeln wollen,

00:06:01: der einen Maschinenbauer, der möchte ganz gerne

00:06:03: "Predictive Maintenance" für seine Maschinen anbieten als Service.

00:06:06: Und dem wollen wir jetzt in irgendeiner Form eine Software bauen,

00:06:10: die Modell getrieben ist, die Maschinenlearning getrieben ist,

00:06:12: die er einfach früher kennt und Probleme auftreten.

00:06:15: Und dann hat diese Maschine, die er hat,

00:06:17: 1000 Sensoren von Druck, Geschwindigkeit, Drehmoment und so weiter.

00:06:22: Es gibt ja ganz viele verschiedene Sachen, die da reinspielen.

00:06:25: Das ist gar nicht so ungewöhnlich aus unserer Erfahrung,

00:06:27: wenn ich mich richtig erinnere, dass Maschinen auch mal 1000 Sensoren haben

00:06:30: und Terabyte an Daten generieren.

00:06:32: Vor allem wenn im Sekunden, tagt dieses Sensoren irgendwas aufnehmen, oder?

00:06:35: Genau, das kommt vor.

00:06:37: Und dann hast du das Problem, dass du die erstmal alle

00:06:42: irgendwie in ein vernünftiges Format bringen musst.

00:06:46: Also du musst vielleicht da auch - also da sind zwischendurch mal Ausfälle,

00:06:50: da musst du Datenbereinigung machen,

00:06:52: dann musst du vielleicht, das sind ja Zeitreihen, die die geben,

00:06:56: vielleicht wirst du die resamplen, dass die vergleichbar sind,

00:06:59: vielleicht ist das auch gerade schlecht in deinem Fall,

00:07:01: musst du austesten.

00:07:03: Und dann hast du aber am Ende immer noch 1000 Sensoren

00:07:07: und die hängen wieder alle miteinander zusammen.

00:07:10: Also vielleicht der Wert, der in dem einen Temperatursensor ist,

00:07:13: der ist super ähnlich zu dem in dem anderen Wert.

00:07:15: Das heißt, ich habe korreierte Features

00:07:17: und das kann dafür sorgen, dass ein Modell schlechter wird.

00:07:20: Das heißt, ich möchte eigentlich solche Korrelationen entfernen.

00:07:23: Ich kann das Problem haben, dass 1000 Features,

00:07:27: das wird dann einfach auch rechend intensiv.

00:07:30: Das wird für das Modell schwer, den Überblick zu behalten.

00:07:32: Das heißt, ich möchte eigentlich weniger Feature haben,

00:07:35: vor allem dann auch hinterher als Mensch,

00:07:37: um das interpretieren zu können.

00:07:39: Weil am Ende kommt dann eine Aussage raus und dann sage ich,

00:07:41: ja, weil alle 1000 Feature und das ist das Ergebnis.

00:07:44: Und ein Mensch, ein Operator, der das versteht,

00:07:47: der will aber sagen, hey, warum glaubt denn dein Modell,

00:07:50: ich soll die Maschine ausschalten.

00:07:52: Und dann möchte ich ihm sagen können, na ja,

00:07:54: weil das und das schiefgegangen ist.

00:07:56: Wenn ich das aussehend auf 1000 Variablen mache,

00:07:58: wird diese Aussage immer schwer zu verstehen sein.

00:08:01: Ja, genau, das ist ja so diese,

00:08:03: der Glaube, dass man möglichst viele Daten

00:08:05: einfach in so ein Modell reinschieben muss.

00:08:07: Und dann wird das schon gut.

00:08:09: Aber wir haben ja auch auf Projekte gehabt,

00:08:11: wo man einfach viele Daten rausgenommen hat aus dem Modell,

00:08:14: weil die das Ganze nur aufgebläht haben

00:08:16: oder sogar die Performance noch verschlechtert haben

00:08:18: oder für Waschen haben.

00:08:20: Genau, genau, das stimmt.

00:08:22: Und es gibt da, ich glaube,

00:08:24: dass es in der Wissenschaft gibt es ein Aktion,

00:08:26: das heißt Occam's Rasiermesser.

00:08:28: Ich weiß nicht, ob du davon schon mal gehört hast.

00:08:30: Nee, das tut sich gefährlich an.

00:08:32: Ja, ich krieg das jetzt nicht perfekt zusammengefasst,

00:08:35: aber das sagt im Prinzip immer,

00:08:37: dass das einfachste Modell ist das beste Modell,

00:08:40: was du machen kannst.

00:08:42: Also du sollst quasi ein minimales Set an Annahmen treffen

00:08:46: und ein minimales Set an Eingaben,

00:08:48: um die richtige Antwort zu machen.

00:08:50: Und alles, was du darüber hinaus machst,

00:08:52: wie mit einem Rasiermesser abschneiden.

00:08:54: Keep it simple, Institute,

00:08:56: könnte man quasi sagen, ist da das A und O.

00:08:58: Aber gehen wir vielleicht noch mal einen Schritt zurück.

00:09:00: Jetzt haben wir diesen Maschinenbauer,

00:09:02: wir haben diesen News Case und der steht da jetzt

00:09:04: und hat seine 1000 Sensoren,

00:09:06: kann in irgendeiner Form

00:09:08: viele Terabyte an Daten erzeugen.

00:09:10: Was macht er jetzt?

00:09:12: Was brauchst du überhaupt von dem, um zu starten?

00:09:14: Mit Feature Selection schickt er dir dann einfach

00:09:16: einen Exel Sheet mit mehreren Terabyte an Zeilen

00:09:18: und dann liest das irgendwie ein

00:09:20: oder was ist nur der klassische Case,

00:09:22: wie du vorgehen würdest, wenn du so einen Kunden hast?

00:09:24: Was würdest du von dem...

00:09:26: Ich glaube, der große Vorteil ist,

00:09:28: dass du Terabyte nicht in den Exel Sheet bekommst.

00:09:30: Das ist dann...

00:09:32: Und davon abgesehen bin ich immer froh,

00:09:34: wenn ich nicht mit einem Exel Sheet arbeiten muss.

00:09:36: Das heißt, das wäre nicht optimal.

00:09:38: Also, was wir machen,

00:09:42: typischerweise liegen diese Daten dann ja

00:09:44: schon in irgendeinem Data-Historie,

00:09:46: in irgendeiner Datenbank wie auch immer.

00:09:48: Wir sind ja Datapricks Partner.

00:09:50: Wir arbeiten gerne mit Datapricks

00:09:52: um große Datenmengen zu verarbeiten.

00:09:54: Das heißt, wir fangen dann erstmal an

00:09:56: und nutzen PiSpark

00:09:58: auf Datapricks und machen Feature Engineering.

00:10:00: Das heißt, wir versuchen erstmal

00:10:02: uns mit den Leuten zusammenzusetzen,

00:10:04: sinnvoll herauszufinden,

00:10:06: was sind relevante

00:10:08: zeitliche Einheiten,

00:10:10: auf denen das Ganze passiert.

00:10:12: Was glaubt ihr, was sind die wichtigsten Sensoren?

00:10:14: Auf was sollten wir uns konzentrieren

00:10:16: und bauen uns erstmal

00:10:18: unsere Feature zusammen,

00:10:20: die alle theoretischen Fragen kommen könnten.

00:10:22: Dann haben wir schon mal ein Großset,

00:10:24: dann werden wir nicht alle 1000 Sensoren nehmen,

00:10:26: dann haben wir vielleicht noch 100, 150.

00:10:28: Und dann wollen wir noch mal gucken,

00:10:30: was sind jetzt von denen die wichtigsten

00:10:32: und da setzen dann die Feature Selection-Methoden an.

00:10:34: Verstehe.

00:10:36: Das heißt, am Ende des Tages hat der Kunde

00:10:38: der Maschinenbauer

00:10:40: eine Art kleine Datenbank schon in Organova

00:10:42: und dann haben wir die Datenbank

00:10:44: eine Art kleine Datenbank schon in Organova

00:10:46: bereit, den Historien.

00:10:48: Wenn er den nicht hat, dann müssen wir da ja auch irgendwie

00:10:50: eine Lösung finden.

00:10:52: Dann ist das irgendwo ein Data Engineering-Thema,

00:10:54: dass man mit einer Firma wie NLICE

00:10:56: zum Beispiel so ein Historien aufbaut,

00:10:58: um die Daten live zu erfassen von der Maschine.

00:11:00: Wir gehen einfach mal davon aus, dass er das schon irgendwo hat.

00:11:02: Und dann ist glaube ich der normale Weg,

00:11:04: dass man versucht,

00:11:06: ist das dann eine Live-Anbindung

00:11:08: an Databricks, die man dann baut

00:11:10: oder ist das ein einzelner Export von einem Paket-File

00:11:12: und dann normalerweise stattfinden?

00:11:14: Nee, also für das Training brauchst du typischerweise

00:11:16: ja keine Live-Daten.

00:11:18: Für das Training reicht es, wenn du einmal dir die Daten

00:11:20: des letzten halben Jahres,

00:11:22: des letzten Jahres, wie auch immer,

00:11:24: ziehst und dann versuchst du das Modell zu trainieren.

00:11:26: Live-Daten brauchst du dann, wenn du wirklich

00:11:28: Vorhersagen machen willst.

00:11:30: Und hast du da irgendwie so ein Daumen-Regel,

00:11:32: wie lange man Dat erfassen muss,

00:11:34: damit man damit irgendwas Sinnvolles

00:11:36: machen kann?

00:11:38: Ich glaube, es ist ja auch so, dass du auf jeden Fall

00:11:40: eine längere Zeitspanne allein dafür brauchst,

00:11:42: weil du ja auch einen Vergleichszeitraum haben möchtest.

00:11:44: Du möchtest ja auf einen gewissen Zeitraum trainieren

00:11:46: und dann auch irgendwo auf einen gewissen

00:11:48: Zeitraum die Performance messen, wie gut das geklappt hätte

00:11:50: das Modell, oder?

00:11:52: Grundsätzlich ja, aber ich habe keine Daumen-Regel,

00:11:54: weil das total

00:11:56: davon abhängig ist,

00:11:58: wie viele Daten werden in welcher Zeit produziert.

00:12:00: Wenn du an einem Tag

00:12:02: mir genug Daten produzieren kannst,

00:12:04: damit ich einen guten Datensplit

00:12:06: im Trainings- und Testzeit machen kann,

00:12:08: dann mag das reichen.

00:12:10: Vielleicht hast du ja die gleiche Maschine

00:12:12: 30 mal da stehen, auf 30 Linien.

00:12:14: Die haben alle die gleichen Sensor- und Funktionierendgleich.

00:12:16: Dann kannst du sehr schnell

00:12:18: Daten produziert haben.

00:12:20: Vielleicht musst du ein halbes Jahr lang warten,

00:12:22: bis deine eine Maschine, die du nur

00:12:24: jeden zweiten Sonntag im Monat benutzt,

00:12:26: die Daten produziert hat.

00:12:28: Genau, das kann man nicht sagen.

00:12:30: Wir hatten jetzt

00:12:32: in den letzten Projekten, die wir hatten,

00:12:34: haben wir einmal offener Jahresschicht

00:12:36: an Daten trainiert, weil es sie einfach schon gab.

00:12:38: In meinem letzten Projekt

00:12:40: habe ich Daten seit Oktober.

00:12:42: Das sind jetzt 2,5 Monate.

00:12:44: Theoretisch wäre es sogar

00:12:46: möglich, dass Daten von 1, 2, 3, 4 Wochen

00:12:48: ausreichen, damit das Modell daraus

00:12:50: Erkenntnisse und Muster erkennt.

00:12:52: Aber ich höre so raus, der Hauptfaktor,

00:12:54: wie lange man aufnehmen muss,

00:12:56: wie viele Qualitativ-

00:12:58: hochwertige Beispiele man generiert.

00:13:00: Gerade diese Graubereiche, wo man negativ Beispiele hat

00:13:02: in der Produktion, wo wir wirklich

00:13:04: Protective Maintenance machen wollen,

00:13:06: dann braucht man auch Beispiele, wo mal was kaputt gegangen ist.

00:13:08: Wenn in den 2 Wochen nichts kaputt geht,

00:13:10: dann ist es wahrscheinlich relativ schwer

00:13:12: für das Modell erkennen zu können, wann etwas kaputt geht.

00:13:14: Vor allem diese Graubereiche und negativ Beispiele

00:13:16: sind wahrscheinlich das A und O

00:13:18: davon genug zu haben, dass man die Muster,

00:13:20: die damit zusammenhängen, erkennen kann.

00:13:22: Genau, das ist aber auch

00:13:24: eine Geschichte, die du dann

00:13:26: einfach mal testen kannst.

00:13:28: Du kannst ja die Daten, die du hast,

00:13:30: die kannst du ja schon mal verwenden.

00:13:32: Wenn wir in einem kleinen

00:13:34: Machtbarkeitsstudio "Proof of Concept"

00:13:36: schauen, kommen wir damit schon irgendwo hin

00:13:38: oder können wir Erkenntnisse gewinnen,

00:13:40: an welcher Stelle brauchen wir noch Daten?

00:13:42: Okay, jetzt haben wir irgendwo die Daten

00:13:44: in Databricks. Wir können damit arbeiten

00:13:46: als Data Scientist.

00:13:48: Was ist so das klassische Vorgehen?

00:13:50: Was ist ja eben schon ein bisschen geschildert?

00:13:52: Dass wir jetzt in die Feature-Selection

00:13:54: reingehen, dass es jetzt darum geht,

00:13:56: mit den Leuten zu sprechen, herauszufinden,

00:13:58: was vielleicht die 100 Sensoren oder die 10 Sensoren sind,

00:14:00: die relevantesten sind.

00:14:02: Aber wie schaffen wir es überhaupt, die zu identifizieren?

00:14:04: Weil ich stell mir vor, du hast so eine Maschine,

00:14:06: 1000 Sensoren, Handbuch, 500 Seiten,

00:14:08: 10 Experten, die damit zu tun haben.

00:14:10: Jeder erzählt dir was anderes.

00:14:12: Wie kriegt man das irgendwie auseinanderdeviliert?

00:14:14: Also, eine Erfahrung, die ich da gemacht habe,

00:14:18: ist, dass tatsächlich wieder die Exelcheats

00:14:20: helfen, weil in all den Unternehmen,

00:14:22: die wir bisher gesehen haben,

00:14:24: die vielleicht noch nicht irgendein

00:14:26: Machine-Oarning-Modell dafür benutzen,

00:14:28: dass wir ja trotzdem Routine-Checks

00:14:30: Qualitätstests machen.

00:14:32: Und ganz oft passiert das in Form von irgendwelchen

00:14:34: Protokollen in Exelisten.

00:14:36: Und da schreiben die dann schon mal

00:14:38: Sensorwerte, der aus ihrer Sicht wichtigsten

00:14:40: Sensoren auf. Das heißt, allein wenn ich da reinschaue,

00:14:42: dann sehe ich schon mal, guck mal,

00:14:44: der guckt sich immer den einen Temperatursensor,

00:14:46: den Drucksensor an und dann noch,

00:14:48: weiß ich nicht, die Geschwindigkeit

00:14:50: der Förderschnecke auf dem Band.

00:14:52: Dann würde ich auf jeden Fall

00:14:54: diese Sensoren mir selber auch schon mal anschauen.

00:14:56: Weil das hat ja einen Grund, dass der Mensch

00:14:58: mit 20, 30 Jahren

00:15:00: Erfahrung sagt, da gucke ich hin

00:15:02: und da markiere ich vielleicht sogar Rot,

00:15:04: wenn der Wert falsch ist.

00:15:06: Im Prinzip versucht man an der Stelle,

00:15:08: dass Domänen-Business

00:15:10: noch auf von dem Experten, den man im Unternehmen

00:15:12: hat, in seinen Modellen in irgendeiner Form zu übertragen.

00:15:14: Genau, das ist immer so.

00:15:16: Und ich habe das tatsächlich auch jetzt gerade

00:15:18: im laufenden Projekt gemacht.

00:15:20: Ich habe wirklich in mehreren Calls

00:15:22: mit dem Experten, haben wir uns gefeinsam

00:15:24: vor dem Bildschirm gesetzt,

00:15:26: haben uns die Sensorwerte angeschaut.

00:15:28: Ich habe vorher identifiziert

00:15:30: Zeitpunkte an denen, was Besonderes passiert ist.

00:15:32: Und dann haben wir als Menschen versucht,

00:15:34: in den Sensoren zu erkennen,

00:15:36: wo passiert denn da was Verrücktes.

00:15:38: Und dann habe ich versucht,

00:15:40: ein entsprechendes Feature zu bauen

00:15:42: mit Programmieren

00:15:44: und mathematischen Ideen,

00:15:46: dass das dieses Verhalten, was wir als Mensch gesehen haben,

00:15:48: widerspiegelt. Also quasi Interaktion

00:15:50: von menschlicher Intelligenz

00:15:52: und Maschinenintelligenz ist da ganz wichtig.

00:15:54: Ja, hört sich für mich

00:15:56: erst mal so an, als ob diese Vorstellung

00:15:58: der Data Scientist sitzt irgendwo

00:16:00: auf der 14. Etage seines Towers

00:16:02: in Bielefeld

00:16:04: und schmeißt einfach ein Haufen

00:16:06: Terabyte an Daten in lustiges Modell

00:16:08: und dann kommt da die perfekte Prediction raus.

00:16:10: Nicht so realistisch ist,

00:16:12: sondern dass man wirklich eigentlich sehr viel

00:16:14: miteinander reden muss

00:16:16: und im Prozess verstehen muss

00:16:18: und dann doch einfach auch guckt, warum macht

00:16:20: man so etwas, was da drüber redet

00:16:22: und dann entsprechend Anpassungen vornimmt.

00:16:24: Das Modell erkennt selten einfach von Anhieb,

00:16:26: alles perfekt, weil im Endeffekt ist es nur so gut

00:16:28: wie unsere Feature Selection, die ist halt

00:16:30: durch unser eigenes Wissen beschränkt, oder?

00:16:32: Kann man so sagen, ja.

00:16:34: Und es geht halt in beide Richtungen.

00:16:36: Was halt auch passiert ist,

00:16:38: ich setze mich hin,

00:16:40: ich teste Feature Selection aus

00:16:42: und bekomme einen

00:16:44: Subset an Features, wo ich jetzt glaube,

00:16:46: guck mal, die sind wichtig

00:16:48: und ich habe den Experten nochmal vor und sage,

00:16:50: macht das für dich Sinn?

00:16:52: Glaubst du auch, dass das sein könnte?

00:16:54: Und wenn der dann irgendwo ganz energetisch den Kopf schüttelt,

00:16:56: dann hinterfahre ich das natürlich auch

00:16:58: und dann schauen wir das nochmal an.

00:17:00: Du hast eben schon von diesen Excel-Dateien,

00:17:02: die zum Teil in diesen Prozessen entstehen,

00:17:04: geredet.

00:17:06: So, da kommt ein Operator, den Sensor auf,

00:17:08: der nimmt die Situation auf, wenn was schief gelaufen ist,

00:17:10: kann tausend Gründe haben.

00:17:12: Wie ist so deine Erfahrung, was die Zufallessigkeit

00:17:14: und Qualität dieser Excel-Daten angeht?

00:17:16: Na ja gut, also alles,

00:17:18: wenn du dir vorstellst,

00:17:20: dass du als Mensch über Jahre

00:17:22: Dinge in Excel eintragen sollst,

00:17:24: kannst du ja selber mal überlegen,

00:17:26: wie viele Fehler du machst.

00:17:28: Ich glaube, da gibt es auch Studien zu,

00:17:30: die ich nur nicht im Kopf habe.

00:17:32: Du musst einfach Fehler machen,

00:17:34: als Mensch. Das ist ganz normal.

00:17:36: Das heißt, du hast dann immer mal

00:17:38: falsch geschriebenen Produktdaten,

00:17:40: hast mal einen Zahlendreh her drin,

00:17:42: bei meinem Nummernfeld erst die 1

00:17:44: und dann, wenn man es anders gemeint hat.

00:17:46: Insofern hast du da schon Fehler,

00:17:48: aber zum Start sind das

00:17:50: halt die Wortmittel, die du hast

00:17:52: und besser als nichts.

00:17:54: Und kannst sehen, wie du damit

00:17:56: vorankommst.

00:17:58: Grundsätzlich, aber es ist natürlich besser,

00:18:00: du hast so was dann irgendwann automatisiert.

00:18:02: Du hast technisch

00:18:04: übertragende Daten, wo dann auch kein Fehler

00:18:06: drin ist.

00:18:08: Dann ist der Aufwand, glaube ich,

00:18:10: in so einem Data Science POC auch oft einfach diese Daten

00:18:12: sprechen und die Qualität

00:18:14: zu verbessern und gar nicht so viel

00:18:16: zu programmieren.

00:18:18: Am Ende, was würdest du sagen,

00:18:20: was der Anteil aus miteinander reden

00:18:22: und die Daten verstehen und den Prozess

00:18:24: verstehen ist und der Anteil von ICTIP

00:18:26: pfeifen in einen Notenbuch rein?

00:18:28: Ein klassischer Data Science POC?

00:18:30: In Prozenden

00:18:32: fällt mir das schwer,

00:18:34: aber der Punkt, den du machen willst,

00:18:36: dem stimme ich zu.

00:18:38: Man muss viel reden.

00:18:40: Das ist sehr unterschiedlich.

00:18:42: Wir hatten auch schon Fälle,

00:18:44: wo die Excel-Daten nicht perfekt

00:18:46: waren, aber wir hatten dann

00:18:48: ein Modell, das sinnvolle Ergebnisse geliefert hat.

00:18:50: Und dann konnte man erstmal

00:18:52: in Ruhe das Modell aufbauen, hat sich das

00:18:54: angeschraut, hat dann hinterher noch ein paar Fehler

00:18:56: gefunden. Manchmal waren die

00:18:58: aufgrund fehlerhafter Daten, manchmal war

00:19:00: unser Modell noch nicht so gut, dann ist das okay.

00:19:02: Je schwieriger die Datenlage

00:19:04: grundsätzlich ist, desto mehr redest du.

00:19:06: Und dann kannst du auch an

00:19:08: Punkt kommen, wo du erstmal

00:19:10: über den Prozess sprechen musst,

00:19:12: den Prozess noch mal verbessern.

00:19:14: Ja, macht Sinn aus meiner Sicht.

00:19:18: Okay, lassen wir mal zurück

00:19:20: zur Fissure Selection gehen.

00:19:22: Und vielleicht ein bisschen tiefer in das Thema einsteigen.

00:19:24: Jetzt haben wir das Ganze ein bisschen drum herum.

00:19:26: Was bedeutet das überhaupt?

00:19:28: Wie komme ich dahin? Wie wichtig ist das?

00:19:30: Was nutze ich dafür besprochen?

00:19:32: Jetzt versuchen wir es mal ein bisschen wissenschaftlicher.

00:19:34: Was sind denn so die klassischen

00:19:36: Ansätze oder die verschiedenen

00:19:38: Ansätze, um in Feature Selection

00:19:40: reinzugehen?

00:19:42: Weil gibt es den einen Weg, den man immer geht

00:19:44: nach Schema F oder gibt es da viele Optionen?

00:19:46: Ne, es gibt

00:19:48: ganz unterschiedliche

00:19:50: Methoden, Feature Selection

00:19:52: zu betreiben.

00:19:54: Ich glaube,

00:19:56: wenn man so grob danach

00:19:58: googelt, gibt es so drei

00:20:00: grundlegende Hörnenzweisen.

00:20:04: Die erste ist die,

00:20:06: dass man sagt, ich schaue mir nur die Feature

00:20:08: für sich genommen an.

00:20:10: Und die Idee, die man immer hat,

00:20:12: ist, ich möchte

00:20:14: Korrelation entfernen.

00:20:16: Also Korrelation bedeutet,

00:20:18: die zwei Feature

00:20:20: tragen so ziemlich denselben Informationsgehalt.

00:20:22: Und dann reicht es mir,

00:20:24: wenn ich eines dieser beiden Feature

00:20:26: habe.

00:20:28: Das möchte ich entfernen und ich möchte

00:20:30: eben

00:20:32: das minimale Set an Feature haben,

00:20:34: was die maximale Information bereithält.

00:20:36: Da kann ich

00:20:38: im Prinzip Statistik machen.

00:20:40: Also ich kann wirklich einfach

00:20:42: eine Korrelationsmatrix aller Feature

00:20:44: untereinander angucken. Ich kann das auch

00:20:46: direkt schon zusammen mit dem Target

00:20:48: machen, was ich vorher sagen will.

00:20:50: Also sagen wir, ich möchte irgendwie den

00:20:52: irgendeinen

00:20:54: numerischen Wert vorhersagen. Wer am Ende raus

00:20:56: kommen will, dann kann ich gucken, wie stark

00:20:58: korrelieren meine Feature. Damit gibt es alles

00:21:00: Schiequatratests, Pierson-Korrelation,

00:21:02: Anova-Tests.

00:21:04: Jetzt würde deine Freundin gleich ausschalten.

00:21:06: Deswegen höre ich an der Stelle auf.

00:21:08: Und kann dann schauen, gibt mir die

00:21:12: 10, 15 besten Feature,

00:21:14: die

00:21:16: die die meisten Informationen tragen.

00:21:18: Okay, jetzt

00:21:20: du hast gerade schon ein bisschen erklärt,

00:21:22: was Korrelation überhaupt ist um das Ganze.

00:21:24: Ich versuche es mal mit meinen Worten

00:21:26: mit einem Beispiel zu füttern. Wenn ich jetzt

00:21:28: mal eine Maschine habe, da gibt es

00:21:30: zwei Sensoren, die die Temperatur

00:21:32: an verschiedenen Stellen messen. Und wir stellen

00:21:34: fest, okay, wenn bei einem die

00:21:36: Temperatur hoch geht, geht sie beim anderen

00:21:38: genauso hoch und eigentlich ist das immer

00:21:40: miteinander konstant hoch oder runter

00:21:42: geregelt, dann kann man den einen einfach weglassen, weil der einfach mit Coralie, das wäre jetzt ein sehr

00:21:45: einfaches Coralations Beispiel, oder? Genau, ich meine, man muss da natürlich aufpassen,

00:21:51: vielleicht sind die Fälle, wo deine Maschine ausfällt, vielleicht ist das genau dar spannend,

00:21:56: wo das einmal nicht so ist, weil dann in der Mitte was kaputt gegangen ist. Da musst du aufpassen,

00:22:01: aber grundsätzlich ja, da wo du im Prinzip durch hinzufügen, der ist neun Features, eigentlich

00:22:09: kein Mehrwertinformation gewinnt, dann kannst du es auch weglassen. Genau, ich hatte mal irgendwo

00:22:16: in einem Vortrag einen Spruch, ein Data Science Spruch gehört, den ich sehr schön finde, der hieß,

00:22:23: man will die Signale im Rauschen der Daten erkennen. Das ist ja eigentlich immer das,

00:22:27: worum es geht. Am Ende gibt es viel Mist, der da mitläuft und man will eigentlich die Signale

00:22:33: finden, die dir jetzt sagen, was du wissen möchtest, oder? Ja, ein schönes Methode, die kannst du dir

00:22:41: gut merken mit meinem Auto Nummernchild noch, weil ich ja in Marburg gewohnt und studiert habe,

00:22:47: und das Nummernchild ist MR, und die Methode ist MRMR, die ist tatsächlich bekannt geworden,

00:22:56: weil die bei Uber benutzt wurde, also Uber hat da glaube ich ein Paper drüber geschrieben, und MRMR

00:23:03: heißt, kann man sogar auf Deutsch übersetzen, maximale Relevanz bei minimaler Redundanz. Und was

00:23:11: man da versucht ist, man möchte immer, also man fängt an mit einem Feature von dem man ausgeht,

00:23:17: dass es wichtig ist, und jetzt will man Neues hinzunehmen, und jetzt sagt man, ich möchte das

00:23:21: Feature hinzunehmen, was mir jetzt noch ganz viele neue Informationen gibt, aber ganz wenig mit dem

00:23:27: Feature, was ich schon habe, was sie redundant ist, also zum Beispiel korreliert ist. Und dann nehme ich

00:23:34: das nächste hinzu, was das erfüllt, dann habe ich zwei, und dann nehme ich das dritte hinzu und

00:23:38: das vierte hinzu, und so kann ich dann festlegen, bis wie viele Feature gehe ich, und versuche immer,

00:23:43: ein neues Feature dazu zu nehmen, was mir ganz viele neue Infos gibt, und wenig sich mit den

00:23:48: anderen überschneidet, und da kriegt man dann ein relativ gutes Test-Z. Okay, jetzt haben wir zwei

00:23:57: Methoden aufgelistet, du hast eben von drei gesprochen, es gibt glaube ich noch eine Methode,

00:24:01: die sehr bekannt ist. Nein, wir sind immer noch bei der ersten, das ist nämlich theoretisch auch eine

00:24:06: Filtermethode. Was man da ja jetzt macht, ist, dass es im Prinzip immer nur Statistik, also ich gucke

00:24:12: mehr irgendwelche Tests, irgendwelche Korrelationen und vergleiche meine Feature mit meiner Target,

00:24:17: oder meinem Label. Was man auch machen kann, ist, man kann direkt das Modell schon dazu nehmen. Also

00:24:23: ich kann ja, ich weiß ja, ich möchte den Modell trainieren, und jetzt kann ich ja einfach sagen,

00:24:28: ich nehme mein Modell, irgendein Random Forest oder irgendein Regressionsmodell, was auch immer,

00:24:34: und ich trainiere das einfach mal mit den Features und gucke, wie gut ist mein Modell. Und der einfachste

00:24:41: Weg, also quasi die exhaustive Method wäre, ich probiere alle Kombinationen an Featuren aus,

00:24:47: die es gibt und die Beste nämlich. Ist natürlich doof, wenn du 1000 Feature hast, weil dann hast du

00:24:55: sehr viele Kombinationen auszuprobieren. Und selbst innerhalb dieser 1000 Features könntest du

00:24:59: jedes Feature ja einfach noch ein bisschen anders gestalten und anders definieren. Also ich würde

00:25:02: sogar behaupten, dass es unendlich viele theoretische Möglichkeiten gibt, das zu kombinieren, wenn man

00:25:08: einfach mal auch die Feature neu denken kann, anders definieren kann, oder? Das sowieso, aber das

00:25:13: ist dann auch wieder das Problem des Feature-Engineerings und nicht der Feature-Selection. Ich habe

00:25:18: eben kurz überlegt, ich glaube die exhaustive Methode, die müsste, ich weiß nicht, ob du in der

00:25:22: Schule Fakultät hast, Fakultätanzahlmöglichkeit, ist das mit dem Ausrufezeichen. Also wenn du fünf

00:25:27: Features hast. Ich erinnere mich noch an das Ausrufezeichen, aber ich kann ja nicht mehr genau sagen, was es tut.

00:25:31: Genau, ich glaube bei fünf Features hast du ja fünf mal vier mal dreimal zwei mal eine Möglichkeit,

00:25:37: das ist immer Fakultät. Vielleicht müssen mich die Hörer in unserer Kommentarspalte korrigieren,

00:25:43: aber ich glaube, das müsste so funktionieren. Ja, was hört sich danach an? Ich erinnere mich jetzt

00:25:48: auch wieder. Du hast es wieder in mein Gedächtnis gerufen. Genau, und weil das halt manchmal nicht

00:25:52: praktikabel ist, also ich kann manchmal nicht alle Kombinationen testen, gibt es zwei

00:25:57: anderen logischen Methoden noch. Die eine ist, ich wieder so ähnlich wie bei MRMR, ich fange einfach

00:26:05: mit einem Feature an und nehme dann immer noch eins dazu, das Netman Forward Selection. Nur eben

00:26:10: hier jetzt nicht mit irgendwelchen statistischen Tests, sondern wirklich für das Modell. Ich

00:26:14: trainiere mein Modell mit nur einem Feature. Modell ist vermutlich relativ schlecht. Ich nehme

00:26:18: ein zweites hinzu, Modell wird besser. Ich nehme ein drittes hinzu, Modell wird noch besser. Ich nehme

00:26:23: ein viertes hinzu und so weiter. Bis Modell wird nicht mehr besser, dann höre ich auf. Es ist die ganz

00:26:29: einfache Idee. Hört sich auch ein bisschen nach Bootforce an, also hört sich noch viel ausprobieren an,

00:26:34: oder? Ja, man versucht halt immer das nächste hinzuzunehmen und man muss eben festlegen, wann

00:26:40: hört man auf. Aber tatsächlich ist es nicht so, also das ist halt relativ effizient, weil ich halt

00:26:46: einfach nur Stück für Stück ein, zwei, drei, vier Features ausprobieren muss. Aber wie machst du das

00:26:55: dann, wenn du sowas im Projekt machen musst? Ist das was, was einfach ein Stück Code, eine Library

00:27:00: mit einem Befehl automatisch durchtestet, PüA Pü, oder gibst du dann im Code ein, mach jetzt das und

00:27:05: das Feature. Nächster Testrun macht das und das und das Feature. Nein, nein, nein, genau. Also

00:27:10: typischerweise mit Libraries, also zum Beispiel MMR gibt es ein ziemlich cooles GitHub repo, das hat

00:27:16: da sogar eine Version, um das mit Spark auf Databricks zu benutzen. Also auf großen Daten funktioniert

00:27:24: das auch gut. Scikit Learn bietet ganz viele Features, Elections, Libraries, die man ausprobieren

00:27:29: kann. Aber man kann da immer zum Teil noch eigenen Code schreiben, mit dem man dann bestimmte Dinge,

00:27:35: also quasi die Entscheidung, auf der ich jetzt sage, ist das besser geworden oder nicht.

00:27:40: Die ist ja erstmal abstrakt, da ist ja die Frage, nehm ich da irgendeine Metrik, root mean square error

00:27:44: oder irgendwas anderes oder und die kann man zum Teil selber definieren, da kann man auch

00:27:50: custom Code schreiben, der das macht. Und um das ganze Nachfolz überzumachen, das ist immer

00:27:54: gut, so zu klotten und dann sowas wie MLflow zu benutzen, die Sachen zu loggen und transparenter

00:28:03: Visualisierung am Ende des Tages bereitzustellen. Ich habe eine super entscheidende Frage noch

00:28:10: über, was jetzt diese Methoden angeht. Du hast jetzt ein paar Sachen vorgestellt. Woher weiß ich denn,

00:28:16: wo, wie kann ich Indikation haben, was jetzt der richtige Weg ist. Wenn ich sagen will, ich habe jetzt

00:28:21: diese Newscales, ich habe die 1000 Sensordaten. Woher weiß ich, welche vorgestellten Feature

00:28:27: Selection und Feature Engineering betrogen, die richtigen sind für diesen Newscales. Gerade ich

00:28:32: habe ich dann auch gefühlt, geht es dafür klare, klar definierte Ansätze, wann man was macht?

00:28:37: Also ehrlich gesagt, wenn du das weißt, dann würde ich dich immer gerne zur Hilfe holen,

00:28:43: weil ich bin ganz ehrlich, ich weiß das nicht immer vorher. Ich würde an der Stelle deinen

00:28:49: Kumpel Basti zitieren. Ein guter Data Scientist ist einer, der in kurzer Zeit viel ausprobiert.

00:28:53: Das heißt, im Optimalfall kennt man die Dinge und ist in der Lage, die schnell durchzuprobieren.

00:28:58: Und dann auch zu vergleichen. Also was ich jetzt auch gemacht habe, ich habe verschiedene dieser

00:29:04: Methoden nebeneinandergehalten, habe geschaut, kommen die auf ungefähr die gleichen Features

00:29:08: jetzt und wo ist die Modellperformance am Ende am besten. Das heißt, ich glaube, man kann eigentlich

00:29:14: sagen, dass es DEN-Experten gibt, der sich das einmal anschaut, das Szenario und sofort weiß,

00:29:19: okay, wir machen das jetzt so und so und dann kommen die besten Ergebnisse dabei raus. Der ist

00:29:23: eher unrealistisch und gibt es eigentlich nicht. In der Regel ist es, man hat einen breiten Werkzeug

00:29:28: Koffer und man probiert vieles aus mit Educated Gasses, nenne ich das mal liebevoll. Das ist

00:29:32: jetzt kein komplettes Raten und im leeren Stochern, man hat halt seine Erfahrungen aus anderen

00:29:36: Szenarien. Man weiß, was woanders schon mal funktioniert hat und man probiert halt viele

00:29:40: Sachen aus, die oberflächlich betrachtet Sinn machen könnten und dann guckt man, was davon am

00:29:46: besten performt und welches seiner Fertigen anfängt ins Ziel zu rennen. Ja genau, ich meine,

00:29:51: was du natürlich sagen kannst, ist, ja die Methoden unterschiedlich sind, haben die unterschiedliche

00:29:56: Vor-Nachteile und da kannst du vielleicht schon vorher sagen, was davon für dich gut ist oder

00:30:01: nicht. Also wenn wir sagen, diese Filtermethoden, wo ich noch nicht ein Modell im Kopf habe,

00:30:06: sondern nur Feature und Targets mir anschaue, die haben eben genau diesen Vorteil, diesen Modell

00:30:11: unabhängig und das heißt, ich hoffe, dass die auch für verschiedenste Modelle gleichermaßen

00:30:17: mir gute Features auswählen und dass ich da eine grundsätzliche statistische Herangehensweise habe,

00:30:23: mir Feature auszusuchen. Außerdem geht das relativ schnell und ich muss nicht ein komplettes

00:30:28: Modell trainieren und irgendwas, sondern ich muss nur ein paar Tests fahren. So eine Rapper-Methode,

00:30:34: wo ich verschiedene Features jetzt mit meinem Modell ausprobiere, die hat halt einerseits wieder

00:30:41: genau das als Vorteil, dass ich dann wirklich schon genau weiß, wie gut ist mein Modell damit,

00:30:45: weil ich es ja gerade ausgerechnet habe, aber die ist dann halt auch spezifisch für dieses

00:30:49: Modell. Also die Features, die ich für meinen Random Forest ausgewählt habe, sind vielleicht nicht

00:30:53: die besten, mit denen mein neuronales Netz am besten funktioniert oder irgendwas anderes. Das heißt,

00:30:58: ich habe dann im Prinzip schon eine Entscheidung getroffen, dass ich dieses Modell benutzen will

00:31:03: und da muss ich wissen, ob ich das tun möchte oder nicht. Genau, ich habe dann eine höhere Gefahr,

00:31:10: dass ich ins Overfitting laufe, weil die eben diesem Modell sehr gut mit meinen Trainings- und

00:31:15: Testdaten helfen, aber vielleicht overfittet das Modell an der Stelle, die gefällt bei diesen

00:31:20: statistischen Methoden ein bisschen geringer. Das sind so Dinge, die man im Kopf haben kann,

00:31:24: die man mitbedenkt. Gab es in den letzten Jahren, wenn du jetzt zu diesem Thema das nochmal so durchdenkst,

00:31:31: einen Aha-Moment an den du dich erinnerst, wo du, wenn du jetzt mit Industriedaten gearbeitet hast,

00:31:36: mit Sensordaten, mit größeren Datenmengen und dann in die Features-Election, in das Features-

00:31:41: Engineering reingegangen ist, gab es da irgendwas, nachdem du jetzt bei Aedio paar Jahre warst,

00:31:45: vorher an der Uni warst, da vielleicht noch einen anderen Arbeitstil hat, wo du gesagt hast, okay,

00:31:50: jetzt habe ich richtig was gelernt, richtig was mitgenommen, was mich in Zukunft besser macht?

00:31:54: Ich würde schon sagen, tatsächlich so profan, das klingt, es ist dieses Sprechen mit den Experten

00:32:03: und die da wirklich immer mit ins Boot nehmen. Also was mir aufgefallen ist, man ist ja Data,

00:32:10: sei es Experte, hat diese ganzen Techniken und deine Freundin ist geneigt abzuschalten und so

00:32:16: geht es auch ein bisschen dem Kunde, wenn du mit dem ein Weekly machst. Wenn du dem dann erzählst,

00:32:20: ja ich habe jetzt eine PCA gemacht für Dimensionsreduzierung und Blabberplan, dann habe ich noch

00:32:25: MRMR und jetzt sind das und das die Features und jetzt kommt am Ende die Metrik raus, dann

00:32:29: schaltet der Innerlich ein bisschen ab und dann ist das halt so und dann bist du aber auch hoffentlich

00:32:35: alleine gestellt. Und wenn du es aber schaffst dem anschaulich zu machen, ich habe, guck mal,

00:32:42: ich habe dieses Sensoren benutzt, mein Modell glaubt jetzt die Sensoren so wichtig und die

00:32:47: Kombination von dem Sensor und dem Sensor, da das Bein schluss die Vorhersage besonders stark.

00:32:54: Und dann fängt er auf einmal und spricht mit dir über seine Welt und sagt ja, das fällt uns auch

00:32:59: immer auf, weil wenn wir die Seitzäure hochdrehen, dann passiert immer das und das und deswegen

00:33:03: musst du auf jeden Fall auf die Temperatur gucken. Und das ist mir jetzt immer sehr wichtig, dass man

00:33:10: diese Ebenen immer wieder mit reinholt und immer wieder dazu wird und dann sind wir da eben auch

00:33:15: schon so Dinge untergekommen wie wir hatten mal ein Projekt, da hatten wir bestimmte Messwerte,

00:33:20: die sind immer sehr stark ausgerissen und da musste man in den Sensordaten sich das alles

00:33:26: zusammen joinen, wann habt ihr gemessen und was kam da raus und was waren die Sensorwerte und

00:33:31: irgendwann ist uns aufgefallen, diese Messwerte sind immer beim Anfahren der Maschine passiert.

00:33:35: Und das ist mir in dem Call mit dem Experten aufgefallen, als wir gemeinsam darauf geschaut haben,

00:33:41: wo er auch meinte, er könnte auch so ein Anfahrvorgang sein und dann haben wir mal systematisch

00:33:47: nach Anfahrvorgängen gesucht und haben gesehen, ach guck mal, da kommt immer dieser Messwert

00:33:50: raus und das ist eine Sache, die ist sehr schwer, wenn du ohne Domänen wissen, nur statistisch mit

00:33:57: den Daten arbeitest. Das heißt, als guter Data Scientist musst du eigentlich echt viel mitbringen,

00:34:02: weil du musst natürlich deinen breiten Werkzeugkoffer haben, wissenschaftlich,

00:34:05: technisch, programmiertechnisch, alle Werkzeuge kennen und begreifen, die man zur Verfügung hat,

00:34:12: um mit Daten zu arbeiten, um der Hauserkennisse zu gewinnen. Du musst irgendwie menschlich auch

00:34:16: eine gewisse Empathie, glaube ich, mitbringen, weil du redest damit Leuten, die eventuell dann

00:34:21: danach fahren sollen, wo es dann vielleicht für die einen Gefühl mitschwingt, hey soll das dann

00:34:25: besser sein als ich, brauch dir mich dann überhaupt noch, du musst irgendwie auf dich auf einer

00:34:29: guten Ebene mit den Leuten austauschen, die abholen und du musst noch irgendwie gute Storytelling

00:34:33: haben, um deine Stakeholdern, diese komplexen Zusammenhänge einfach und verständlich darzustellen,

00:34:38: dass sie nicht abschalten, sondern das verstehen und dranbleiben und Lust darauf fahren.

00:34:42: Diese ganzen Sachen musst du schon mitbringen, um erfolgreich zu sein.

00:34:45: Ja, an der Stelle kann ich nur sagen, Chef, da siehst du mal, was wir leisten müssen.

00:34:48: Bei Ali was das halt auch, weil das die Art ist, wie wir in Projekten arbeiten mit Kunden.

00:34:55: Ich glaube, du kannst doch irgendwo anders wirklich nur der Data Scientist sein, der dann mit

00:35:00: seinem Product Owner und Teamlead spricht und der gibt es wieder in einem Berater weiter

00:35:04: und der spricht mit dem Kunden und dann spielst du so ein bisschen stille Post.

00:35:08: Bei uns ist es so, dass du all das tust, was du gerade besprochen hast.

00:35:12: Ich glaube, das ist aber auch echt dann ein Vorteil.

00:35:15: Also wenn du darauf Lust hast und wenn du Lust hast, sich damit zu beschäftigen, dann

00:35:19: hilft es dir auch besser zu sein in deiner Arbeit und genau, also ich habe nämlich auch

00:35:23: gemerkt, man kann sich sehr darin verlieren, all diese Dinger auszuprobieren und kannst

00:35:28: wirklich einfach nur Feature Selection, kannst du zwei Wochen lang machen, alle Dinge durchprobieren

00:35:34: und vielleicht hättest dir geholfen, wenn du mal einmal mit dem Experten sprichst und

00:35:40: dann hättest du 80% nicht ausprobieren müssen.

00:35:43: Wir haben ja glaube ich auch öfters mal Kunden-Use-Cases gehabt, wo schon mal was ausprobiert wurde

00:35:48: und wo es dann heißt, geht nicht.

00:35:50: Und dann wurde was dann gemacht worden, ist einfach mal die Datenmodell schmeißen, gucken

00:35:54: ob die Ergebnisse gut sind.

00:35:55: Nee, war nicht gut, ja okay, Daten sind nicht gut genug, nicht genug davon funktioniert

00:36:01: halt einfach nicht der Use Case, wo halt was dann oft einfach gefehlt hat, sind dann

00:36:05: diese Gespräche im Detail und die Erkenntnisse, die dabei gewonnen werden, diese Daten anders

00:36:09: zu benutzen oder anders zu verstehen.

00:36:11: Mhm, genau.

00:36:13: Okay, hast du noch irgendwas, was du zum Thema Feature Selection, Feature Engineering,

00:36:18: Model Boosting gerne den Leuten mitgeben möchtest?

00:36:21: Ja, genau, es gibt theoretisch noch eine dritte Klasse von Methoden, das die, nennt man die

00:36:27: Embedded Methods.

00:36:28: Und jetzt kommt zu dem Begriff Feature Engineering und Feature Selection, noch der Begriff Feature

00:36:35: Importance.

00:36:36: Und was zum Teil manche Modelle schon selber mit liefern, wenn man die trainiert hat,

00:36:44: die sagen, welches Feature war wie wichtig.

00:36:47: Also die geben denen bestimmte Gewichtungen und wenn du dem dann zehn Features gibst,

00:36:51: dann sagst du Feature 2 ist immer für mich das Wichtigste.

00:36:54: Danach gehe ich am meisten und dann gucke ich mir Feature 3 und 4 an.

00:36:58: Da gibt es verschiedene Methoden, wie die das machen.

00:37:01: Das gibt es bei, also bei linearen Modellen sind das irgendwelche Koeffizienten.

00:37:08: In Random Forests ist das zum Beispiel a Ginny Impurity.

00:37:11: Man kann zum einen das nutzen, kann einfach sagen, was glaubt denn mein Modell, was die

00:37:17: wichtigen Features sind?

00:37:18: Es gibt noch eine sehr coole Library, die heißt CHAP, CHAP Feature Importance.

00:37:23: Das ist mit Methoden aus der Spieltheorie und die kann wirklich analysieren, was ist

00:37:28: der Beitrag eines jeden Features zum Modellvorhersage, unabhängig davon, was für ein Modell ich habe.

00:37:34: Und das ist eine ziemlich mächtige, ziemlich coole Geschichte, die man viel benutzen kann,

00:37:39: weil da kann ich bis hin bei der einzelnen Vorhersage sagen.

00:37:42: Also für diesen Datenpunkt habe ich den Wert 11 vorhergesagt.

00:37:46: Und ich kann dir genau sagen, welches Feature, wie viel dazu beigetragen hat.

00:37:51: So was kann man damit auswerten.

00:37:52: Und da kann man dann auch wirklich mit einem Experten drauf gucken und kann dann mit dem

00:37:57: gemeinsam sagen, macht das den Sinn.

00:37:59: Der hat jetzt gesehen, die eine Temperatur ist so, der Druck ist so und der so und alles

00:38:03: zusammen hat zu diesem Ergebnis geführt, ist das für dich nachvollziehbar.

00:38:07: Das ist eine Sache, die sehr cool zu benutzen ist, die ich grundsätzlich empfehlen kann.

00:38:14: Um kurz da einzusteigen, was ich, ich kenne natürlich auch unsere schönen Shepplots und

00:38:18: was ich daran aus Business Sicht richtig cool finde, ist, sagen wir mal, du hast jetzt

00:38:23: dieses Modell gebaut für Predictive Maintenance.

00:38:25: Das ist jetzt gut darin, frühzeitig zu erkennen, wenn Probleme sich anbahnen und dann eine

00:38:30: Wartung zu empfehlen und auch die richtige Wartung.

00:38:32: Super.

00:38:33: Jetzt hast du deinen Shepplot, der dir sagt, okay, warum ist es denn jetzt so, dass eine

00:38:38: Wartung voraussichtlich ansteht?

00:38:39: Ah, okay, hier der Drehmoment ist jetzt 10% höher im Schnitt, als er sonst eigentlich

00:38:45: war und im Zusammenhang mit der Temperatur, die es gerade draußen gibt, erzeugt das

00:38:48: halt potenziell dem Problem und den Verschleiß.

00:38:51: Das könnte ja keiner kennen, das heißt, in einem Shepplot könnte es sein, dass diese

00:38:54: eine Sensor für den Drehmoment halt einen ganz großen Balken nach rechts hat, weil er

00:38:59: eine hohe Importance hat.

00:39:00: Und aus Business Sicht kann ich daraus ja auch eine Erkenntnis ableiten, dass ich sage,

00:39:04: ah, darum kommen diese Wartungsprobleme, gut.

00:39:07: Das nächste Mal, wenn wir eine Maschine bauen, wissen wir das und konstruieren das ein bisschen

00:39:11: anders, damit diese Probleme gar nicht mehr auftreten in Zukunft.

00:39:14: Das heißt, ich kann auch Erkenntnisse über meine Produkte, über meine Systeme, über

00:39:18: mein auch vertrieblich gesehen natürlich, wenn ich das Ganze im Marketing oder mit

00:39:22: Kunden einsetze, über warum kaufen Leute, ich kann viele Erkenntnisse gewinnen und dann

00:39:26: nicht nur ein gutes Modell haben für den Iststand, sondern ich kann in Zukunft auch

00:39:29: einfach bessere datengetriebene Entscheidungen treffen, wie ich das in Zukunft aufbaue, oder?

00:39:35: Genau, das ist ein ganz wichtiger Weg hin zur Interpretierbarkeit von Modellvorhersagen.

00:39:41: Also es ist quasi ein Schlüssel zur Blackbox.

00:39:43: Damit kannst du so ein bisschen anfangen zu verstehen, warum macht mein Modell das, was

00:39:48: es tut.

00:39:49: Und letzte Kirche auf der Sahne, die ich dazu noch habe, auch da muss nämlich noch nicht

00:39:57: das Ende der Veranstaltung sein.

00:39:59: Also ich gucke mir Feature in Propen san und gucke mir an, was sind aus Modell Sicht

00:40:02: die wichtigen Features.

00:40:03: Was das macht, ist quasi, es guckt an, wie viel gibt mein Modell hin, mithin zur Modellvorhersage.

00:40:12: Wie wichtig ist es für den Wert, der vorhergesagt wurde?

00:40:15: Was man auch sich angucken kann, ist die sogenannte Error-Contribution.

00:40:19: Wie sehr hat sich der Fehler meines Modells geändert, dadurch, dass ich dieses Feature

00:40:24: benutzt habe?

00:40:25: Das geht nämlich auch.

00:40:27: Das heißt, ich kann mir angucken, de facto, wie gut war mein Modell mit dem Feature und

00:40:32: wie gut war es ohne das Feature.

00:40:34: Und gerade mit Chatvalues geht das sehr gut, weil die additiv sind.

00:40:37: Ich gehe da nicht tiefer rein, aber es geht damit.

00:40:39: Und jetzt kannst du dir quasi angucken für jedes Feature über deine ganzen Daten.

00:40:44: Wie wichtig ist das für die Vorhersage, wie stark beeinflusst es die Vorhersage und in

00:40:49: welche Richtung beeinflusst es den gesamten Modellfehler?

00:40:52: Und du wirst natürlich genau die Feature nehmen, die den gesamten Modellfehler klein machen.

00:40:56: Also jedes Feature, was dazu führt, dass du insgesamt einen kleineren Fehler machst,

00:41:00: das ist ja erstmal irgendwie ein gutes Feature.

00:41:02: Und es soll dann natürlich auch wichtig fürs Modell sein.

00:41:05: Und das ist noch eine coole zusätzliche Perspektive, die man in diesem ganzen Bereich Feature-Selection

00:41:10: haben kann, dass man sich auch die Error-Contribution der Feature anguckt.

00:41:14: Hört sich sehr sinnvoll an.

00:41:18: Habe ich tatsächlich auch gar keine Rückfrage geradezu, paar Hart.

00:41:22: Ich habe es verstanden.

00:41:23: Sehr gut.

00:41:24: Sehr schön.

00:41:25: Wir haben jetzt über 40 Minuten im Kasten, ich glaube, der Podcast nähert sich dem Ende.

00:41:32: Und wenn ich es einfach mal versuche, zusammenzufassen, es gibt verschiedene Möglichkeiten, Features

00:41:37: zu engenieren, also Features überhaupt zu erstellen und diese dann zu selekten.

00:41:42: Und das Ziel sollte, glaube ich, immer sein, das Ganze simple zu halten.

00:41:45: Man sollte es nicht überkomplizieren.

00:41:46: Man sollte viele Koalitionen rausnehmen, genutig wenig hochwertige Signale und Datenpunkte

00:41:51: haben, mit denen man dann sind voll arbeiten kann, aus denen man Erkenntnisse ableitet.

00:41:55: Und dann, was man jetzt genau nimmt, wie man genau vorgeht, das ist nicht immer zu 100%

00:42:00: klar am Anfang, auch wenn man viel Erfahrung hat.

00:42:02: Man muss einfach ein bisschen ausprobieren und gucken, was jetzt der gute Weg ist.

00:42:06: Wobei es natürlich bestimmte Präferenzen gibt, in welchen Szenarien was am meisten

00:42:10: Sinn macht.

00:42:11: Und am Ende des Tages ist es dann auch viel Arbeit mit Domenexperten.

00:42:15: Man muss mit den Leuten reden, man muss die Daten richtig verstehen und man muss in Zweifelsfall

00:42:21: auch mal Sachen nicht vertrauen, Sachen hinterfragen, um dann zu wissen, warum etwas nicht funktioniert.

00:42:27: Oder?

00:42:28: Das passt so.

00:42:30: Genau.

00:42:31: Ich habe aber auch noch eine Frage an dich, Alex, an der Stelle.

00:42:34: Mal gucken, ob du gut aufgepasst hast.

00:42:37: Nee, Scherz.

00:42:38: Auch weil an der Stelle beenden wir den Podcast einmal.

00:42:42: Nee, es ist eine wirklich wichtige Frage.

00:42:44: Okay.

00:42:45: Es ist ja im Mittwoch.

00:42:46: Hast du schon die Pizza bestellt?

00:42:47: Nee, ich habe die Pizza tatsächlich.

00:42:50: Ich wollte nicht, dass die Pizza kommt, während wir den Podcast aufnehmen, dass wir dann

00:42:55: in Zugzwang kommen und darum müssen jetzt alle einfach mal eine halbe Stunde mehr hungern,

00:43:00: damit wir das hier in Ruhe machen können.

00:43:02: Das war mein Problem.

00:43:03: Das ist ein sehr trauriges Ende unserer Folge.

00:43:06: Dann bin ich auch eiskalt und da stehe ich auch zu.

00:43:10: Das ist wie es ist.

00:43:11: Okay, dann muss ich jetzt leider aus mangelnder Energie aufgrund von Hunger in den Schach-Live-Stream,

00:43:16: der Schachwm-Wechse hin.

00:43:18: Alles klar.

00:43:19: wie fit er da ist. Mach ich. Mach's gut. Ciao.

00:43:22: Vielen Dank.

Neuer Kommentar

Dein Name oder Pseudonym (wird öffentlich angezeigt)
Mindestens 10 Zeichen
Durch das Abschicken des Formulars stimmst du zu, dass der Wert unter "Name oder Pseudonym" gespeichert wird und öffentlich angezeigt werden kann. Wir speichern keine IP-Adressen oder andere personenbezogene Daten. Die Nutzung deines echten Namens ist freiwillig.