K-Means Clustering verstehen und in der Praxis anwenden!

Shownotes

David versucht zu erklären was K-means Clustering bedeutet und Janis hakt bei jedem Buzzword nach, was es genau bedeutet.
Im Podcast erfahrt ihr, wofür K-means angewendet wird, welche Vor- und Nachteile das ganze hat wie man es in der Praxis anwenden kann.

Transkript anzeigen

00:00:00: Wir sind wieder live on air wir sind live on air gehen aber alles was ich jetzt sage schneidest du noch raus ne Liebe Podcast Hörer Jannis hat noch nie im Schach gegen mich gewonnen,

00:00:10: der Test ist ob ich das im Podcast hören werde.

00:00:14: Ja gut na die offizielle Herausforderung die kommen noch mal du drückst Dich ja in der Zeit immer darüber davon noch mal liegen deutlich vorne.

00:00:21: 2039 er muss sich erstmal wieder qualifizieren 3 ja das mache ich ich habe einen höheren elosge als du auf liedjes wer weiß wie du den bekommen was isst du gerade.

00:00:32: 17

00:00:34: 10.7 oder so sind 17% 25 da bin ich also der Trick ist tatsächlich man muss möglich selten of features spielen und wenn man spielt muss man gewinnen Herde 2D diese diese memory.

00:00:47: Da drin haben dieses caelo,

00:00:51: Raleigh irgendwie ich weiß es nicht es scheint als kriegt man am Anfang mehr. Also kriegt hat seitlichen rosige und wie 40. Er genau hat es schon sehr und das Schöne ist du kriegst auch von Niederlage soviel das heißt eine Niederlage und meine Lust wieder höher,

00:01:04: ja das stimmt also Mann fällt in meinem pendelt sich zu einer ist so ein bisschen die Sonne.

00:01:09: Sinuskurve so eine gestauchte gedämpfte Sinuskurve oder so funktioniert das ne ja so ein moving average.

00:01:17: Ja cool okay dann lass uns mal einsteigen David.

00:01:22: Du mal wieder hier ich mal wieder hier du mal wieder hier bin ich damit jetzt wieder topgast.

00:01:29: Oder hat er Alex mehr auftritt alex hat zwei Folgen du hast jetzt eine dritte her das heißt du willst dauerhaft Podcast bleiben,

00:01:37: na also für mich ist das ja einfach nur ein Ausdruck deiner Liebe zu mir dann wird er jetzt sehr gut okay ja,

00:01:44: dann waren wir das dabei was ist denn unser Thema heute,

00:01:48: du wolltest über Clustering sprechen ich wollte mal Clustering sprechen genau und darf mir hier keine Themen aus dem Tank mit dem aussuchen

00:01:55: theoretisch ich meine du hast ja ausgesucht dass du über Kamin Clustering reden möchtest ne genau er ich halte das für einen guten Einstieg hättest einen guten Einstieg na ich wollte ja eigentlich über die B scannen anfangen aber da meintest du so ne lass uns lieber Kenny nehmen und dann machen wir das jetzt

00:02:08: was ist Clustering erzähl mal genau Clustering ist.

00:02:15: Eine machine learning Methodik und zwar im Speziellen geht's dabei um an zu verweist machine learning das heißt ich habe irgendwelche Daten.

00:02:25: Die ich gerne,

00:02:26: kopieren möchte ohne dass ich vorher schon Labels auf diesen Daten habe die mir diese Gruppen vorgeben das heißt ich möchte irgendwie in meinen Daten Mustergruppen erkennen was ist ein Label,

00:02:37: er erlebe ist eben genau so eine Beschreibung an den Daten die mir die dann z.b. kopiert oder kategorisiert z.b. die Spezies bei,

00:02:49: Tieren oder Pflanzen Spam oder nicht Spam bei einem Datensatz von Textnachrichten Front oder kein Brot bei Überweisung,

00:03:02: mäusegeschichten relativ viele Julians ne also ganz am Anfang hast du ja mal die Kategorien von Tieren waren nicht genau die waren keine Bilanz genau das kann quasi alles sein das wäre quasi supervised learning man kennt die Eigenschaften seiner,

00:03:16: einträge bereits beim Amt überweist nennen kann man die Eigenschaften nicht habe ich das richtig verstanden genau du kennst

00:03:22: typischerweise kennst du weder die Eigenschaften noch die Anzahl der zu findenden also nicht Eigenschaften sondern Kategorien also ich gebe dir irgendwie meine Aufzeichnungen von ganz vielen,

00:03:37: Pflanzen die ich vermissen habe und ich weiß aber gar nicht wie viele Pflanzenarten sind das eigentlich und.

00:03:42: Das frage ich dich und du musst das dann rausfinden ok und das machst du dann mit als Beweis lernen z.b.

00:03:49: Batterien dann genau das ist die Idee des typischerweise hat jeder Cluster Algorithmus der hat irgendeine.

00:03:58: Kostenfunktion auch dir minimiert und die hilft ihm dabei daneben bestimmte Gruppen von Datenpunkten von anderen abzugrenzen ist eine Kostenfunktion.

00:04:11: Nee machen wir jetzt einen Cluster oder einen machine learning hoffe du wirst hier Begriffe reine Kostenfunktion also um uns speziell bei bei K-Means zu machen.

00:04:25: Ist um um dein Beispiel zu geben da nehme ich.

00:04:31: Den Abstand eines jeden Datenpunkt ist zum Mittelpunkt seines clusters.

00:04:37: Und den versuche ich zu minimieren also in machine learning Algorithmen definiert man immer eine Kostenfunktion die man minimieren möchte die man so klein wie möglich halten möchte.

00:04:48: Und typischerweise ist die ja irgendeine Metrik irgendein Abstand irgendeine Distanz oder so,

00:04:57: und genau.

00:04:59: Dann dann denkt man sich einen Algorithmus aus der iterativ nach und nach neue Lösungen findet die,

00:05:09: die Kostenfunktion reduzieren und die die kleiner machen also bei deep learning Sachen hat man nur so Sachen wie gradient descent frag mich jetzt bitte nicht was das ist weil dann sprechen wir nicht mehr über Clustering,

00:05:21: uniwerk emins sprechen wir vielleicht gleich noch wie der das im Speziellen macht das Essen recht intuitiver,

00:05:30: Algorithmus indem ich einfach immer versuch ich habe irgendwie ich definiere mir irgendwie meine Klasse. Ich habe Abstände dazu und die kann ich jetzt die Cluster Mittelpunkte verschieben so dass die Abstände kleiner werden das ist im Prinzip die Kevins Idee,

00:05:43: jetzt habe ich doch schon getestet jetzt hast du es ein bisschen getigert ne was ist denn so ein Cluster.

00:05:51: Also das ist eben war ja mal ein Beispiel du hast ein Beobachtung von Pflanzen und Messungen und Whisky einordnen ein anderes Beispiel was ich jetzt in dem Projekt hatte ist.

00:06:02: Du bist eine Firma die ganz viele Kunden hat.

00:06:06: Und die möchte vielleicht für Marketingmaßnahmen sagen kann ich die Kunden denn irgendwie kopieren man kann sagen ich habe irgendwie meine Top-Kunden.

00:06:16: Und ich habe meine weiß ich nicht Gelegenheit Kunden und.

00:06:23: Wie kann ich das Festhalten also im speziellen Fall der Kundensegmentierung gibt's da dann auch schon Bewertung Modelle da gibt's z.b. die.

00:06:31: Ich glaube die heißt RFM Sequenzierung das ist Rewe new frequency monetary value das heißt ich gucke mir den.

00:06:39: Umsatz der Kunden die Frequenz anesis recency frequency monetary value also ich gucke mir die Riesen sie ist die.

00:06:48: Zeit seitdem der Kunde das letzte mal da war die Frequenz in der er kommt und der Umsatz den er typischerweise bei mir macht die gucke ich mir an und mit diesen,

00:06:58: Beschreibung meine Kundin versuche ich die Kundin jetzt,

00:07:01: zu kopieren das bedeutet das Klasse ist letztlich mehr oder weniger der Use-Case in denen du dich bewegst und die Kunden genau das ist und du versuchst innerhalb dieses Clusters einzelne Kundengruppen zu finden in dem Fall ist es dann so eine Art,

00:07:16: Kaufverhalten Gruppe also Kunden mit einem ähnlichen Kaufverhalten die packe ich in einer Gruppe zusammen.

00:07:24: Bei den Pflanzen sind dann Pflanzen mit einer ähnlichen Physiognomie und ja was auch immer du nimmst.

00:07:33: Okay ja das habe ich schon.

00:07:36: Auferstanden und das letzt auch ein gutes Praxisbeispiel das heißt weil sie immer da wo du versuchst Sachen zusammenzufassen,

00:07:44: kannst du noch mal nachdenken hinzuzunehmen bzw wenn du keine Label hast und versuchst Sachen zu gruppieren und übergreifend zu beschreiben,

00:07:52: genau und manchmal ist es auch so dass ich einfach mal,

00:07:57: testen will ob ich Gruppierungen finde also dass ich noch gar nicht auf zwingend vorgeben kann dass ich da eine bestimmte Anzahl an Gruppen finde Sonne ich will einfach.

00:08:07: Herausfinden gibt's Muster in meinen Daten also bei Beda wäre z.b. die Krebsforschung.

00:08:16: Und dann guckst du dir Genexpression Satan ich glaube die hatten wir bei der principal component Analyse auch schon mal in das heißt du guckst dir alle deine gehen an und guckst an wie die exprimiert werden,

00:08:26: und dann würde dich interessieren ob,

00:08:29: verschiedene Gene vielleicht in der gleichen Art und Weise und gleich häufig exprimiert werden und das könnte ja bedeuten dass die irgendwie biologisch zusammenhängen und dass sie dann vielleicht auch mit Krebs zusammenhängen aber vielleicht auch mit irgendwas ganz andere und das heißt du.

00:08:43: Hast du einen Untersuchungsgegenstand du versuchst den mit möglichst guten Features,

00:08:49: zu schreiben oder wo du glaubst dass die den beschreiben und dann suchst du dir eine einheitliche Methode einen Algorithmus mit einer entsprechenden Kostenfunktion der die,

00:08:59: dann kopiert und dann guckst du ob diese Gruppen Sinn machen,

00:09:03: das heißt man kann mit einer Erwartung wenn das Glas holen gehen sowas wie ich versuche jetzt das Kaufverhalten von Kunden zu analysieren und,

00:09:10: man kann auch ohne Erwartungshaltung ins Clustering gehen sowas wie ich weiß gar nicht genau welche Gemeinsamkeit meine Daten haben ich muss jetzt mal alles ins Clustering rein und genau passiert das ist typischerweise.

00:09:24: So eine Sache derer man sich am Anfang klar sein sollte wenn du eine Kaufverhalten segmentierungen machst wird dein Kunde meistens erwarten dass er,

00:09:35: weiß ich nicht 56 Arten von Kunden hat vielleicht auch nur drei top Kunden schlechte Kunden und mittelmäßige Kunden irgendwie sowas,

00:09:45: da wirds aber einfach von dem speziellen Domänen Hintergrund keinen Sinn machen und er würde überfordert sein wenden mit irgendwie zwölf verschiedenen kundenarten.

00:09:54: Das heißt da gibst du wahrscheinlich schon vor einen gewissen Bereich indem du Cluster suchst,

00:10:01: kannst aber auch einen komplett data-driven approach nehmen und kannst sagen was ist die mathematisch sinnvollste anzahl an Klassen die ich finde in den Garten.

00:10:12: Okay.

00:10:13: Finde nur Sand ich glaube das ist ein Punkt zudem wenn man nachher mit sicher noch mal kommen nur im was ist die richtige Anzahl aber seine sinnvolle Anzahl an möglichen Clustern lass uns mal einsteigen wie wie setzt man wie geht man denn an so eine Clusteranalyse ran also was sind so die typischen schritte.

00:10:29: Genau also ich glaube ganz wichtig ist das was wir jetzt schon viel besprochen haben dieses.

00:10:36: Es ist erstmal darüber klar werden woraufhin man hinaus.

00:10:40: Wenn es heißt wir wollen unsere Top Mittel und schlechten Kunden finden dann weiß ich schon mal ich suche wahrscheinlich 3 klasse.

00:10:49: Und und vielleicht paar mehr oder weniger aber sicher nicht zehn und das ist die erste Sache und dann.

00:10:58: Soll es ist es beim gerade weil das auch an supervised ist,

00:11:02: muss man viel Zeit erstmal in die datenexploration verwenden ich muss mir die Daten angucken ich muss mir die mal Plotten ich muss gucken wie sind die verteilt,

00:11:11: und muss mir darüber Gedanken machen dann auch was ist denn sinnvoller Algorithmus um die Zuglast denn es gibt unterschiedliche Algorithmen mit unterschiedlichen.

00:11:23: Quasi Kostenfunktion und Metriken mit denen die Cluster identifizieren und.

00:11:31: Da muss ich ein Problem angepassten wählen und also came ins ist auch nicht die Lösung für alles ganz ganz sicher nicht und findet nicht jedes Gaston.

00:11:40: Tatsächlich sind wir als Menschen sehr sehr gut darin Klasse zu finden also wenn ich dir Punkte auf Malle dann ist dein Gehirn,

00:11:48: höchstwahrscheinlich sehr gut in der Lage zu sagen die gehören zusammen und die gewinnt zusammen das heißt man kann da sehr viel mit seinem eigenen Verstand,

00:11:56: Erding Pong spielen und kann die Lösung die man findet vergleichen machen die für mein Auge sind wenn ich die gut visualisieren ja,

00:12:03: was gerade etwas gesagt das war nicht ganz verstanden du meinst initial schau mal auf seine Daten und schaut wie sie verteilt sind,

00:12:10: wie kann ich mir das vorstellen also was meinst du damit ich meine ich habe eine Tabelle und genau also um das Ganze vielleicht ein bisschen handfeste zu machen bleiben wir mal bei dem Beispiel indem ich jetzt bisschen tiefer drin steckte also,

00:12:23: sag nicht wieso eine Kundensegmentierung machen an ich will das machen anhand ihrer Frequenz mit der die Einkaufen anhand der.

00:12:31: Umsätze die sie bei mir machen und anhand des Datums wann sie zuletzt da waren.

00:12:38: Und ich habe auch schon so eine gewisse Vorstellung ich stell mir vor ich habe irgendwie richtig tolle Kunden die kommen ganz oft geben dann viel Geld aus und waren auch erst diese Woche da.

00:12:47: Und wahrscheinlich habe ich auch Kunden die schon ganz lange nicht mehr da waren und damals auch nur ganz wenig Geld ausgegeben haben und vielleicht habe ich auch so Kunden die,

00:12:56: zwar nicht so oft kommen aber wenn sie kommen geben sie richtig viel aus die machen vielleicht immer den großen Monatseinkauf solche Geschichten dass das alles in wahrscheinlich so Dinge die ich würde die dann meinen mein Kunde auch erwartet zu finden das schon mal die Erwartungshaltung über die ich mir klar werde.

00:13:12: Und.

00:13:13: Jetzt muss ich erstmal meine Daten aufbereiten und mir quasi die Feature erstellen mit denen nicht so ein Clustering machen kann das heißt im ersten Fall ist das ganz einfach ich gehe durch alle meine Kunden Transaktionen und rechne mal aus,

00:13:25: was ist ein Gesamtumsatz im betrachteten Zeitraum wie oft warst du da und wann warst du zuletzt da.

00:13:31: Und dann kannst du dir das mal blocken und guckst dir mal die Verteilung an so was ist der mittlere umsonst meiner Kunden noch nicht wie geht das nach außen weg.

00:13:41: Und dass du typischerweise finden wirst es.

00:13:44: Du hast so ein paar Kunden mit einem absolut verrückte und Umsatz und mit einem total niedrigen Umsatz also typische autler ja irgendwo.

00:13:54: Und da musst du dir jetzt Gedanken machen wie gehe ich mit denen um also ich würde sagen wenn du ich weiß nicht was das Geschäft ist was du am ehesten auch machen würdest aber wenn du da Kunden hast die einen signifikant höheren Umsatz haben als alle anderen die wirst du höchstwahrscheinlich kennen.

00:14:09: Dann musst du die wahrscheinlich auch nicht zwingen Clustern.

00:14:12: Und Tanz die allein deswegen schon mal rausnehmen aus der Analyse und außerdem solltest du dich entscheiden K-Means Clustering zu nehmen.

00:14:21: Hätten die auch einen negativen Einfluss auf deinen Algorithmus weil die verzerren den,

00:14:26: also wenn du Ausreise hast dann haben die in sehr also gerade bei K-Means haben den sehr hohen Einfluss und und ziehen die Klasse,

00:14:32: in ihre Richtung in die Richtung der Ausreißer und dann kriegst du nicht mehr so aussagekräftige Klasse das heißt eine Sache die du machst aufgrund der Visualisierung ist Ausreißer entfernen was da auch mit rein Spiel ist was du auch in der Visualisierung siehst,

00:14:45: wir sind die Daten verteilt was du typischerweise wünscht ist.

00:14:50: Dass die mehr oder weniger normalverteilt sind dann funktioniert das besonders gut und also man sagt man möchtest Junis entfernen.

00:15:00: Ich weiß ehrlich gesagt gar nicht die deutsche Übersetzung von Ski Junis ich auch nicht.

00:15:05: Schiffe Schifffahrt schiefe der Verteilung also du möchtest er symmetrische Verteilung deiner Feature als eine asymmetrische Verteilung,

00:15:13: das liegt begründet in der speziellen Kostenfunktion von K-Means also jetzt kommen wir nicht drum herum über die zu sprechen.

00:15:22: Ich versuche das jetzt so so gut wie möglich zu erklären was kmins macht also ich kann sehr empfehlen wenn man das in den Bildern sehen will oder so in die Dokumentation von Säugetieren oder Woche mal gibt's 1000.

00:15:33: Visualisierung davon wahrscheinlich auch bei Wikipedia dann versteht man das besser aber grundsätzlich.

00:15:39: K-Means hat das K im Namen als eine besondere Sache die K-Means macht ist man gibt die Anzahl der Klasse die man sucht vor.

00:15:48: Nämlich man sucht car Cluster und was man dann macht ist man sagt z.b. ich suche 3 Klasse KS gleich 3.

00:15:58: Und Termins fängt an und setzt erstmal komplett zufällig in deinen deine Daten wohl gesetzt S3.

00:16:08: Und dann berechnet es für jeden Punkt den Abstand zu diesem,

00:16:12: er hat zu diesen Punkten und jeder. Wird dem nächsten der drei Initialen Cluster Mittelpunkte zugeordnet,

00:16:20: das heißt ich habe quasi im ersten Schritt mit Zuordnung von allen meinen Punkten zum Klasse und die wird höchstwahrscheinlich sehr schlecht sein das wird nicht das sein was wir im Auge sehen.

00:16:30: Was man dann macht ist sobald man alle Punkte zugeordnet hat den Clustern,

00:16:34: berechnet man den Schwerpunkt dieser so gebildeten Klasse das heißt ich habe jetzt eine bestimmte Anzahl an Punkten die ich dem ersten Klasse zugeordnet habe jetzt kann ich alle Koordinaten nehmen und mit und dann kriege ich den neuen Cluster Mittelpunkt.

00:16:46: Und das mache ich für jedes Cluster und dann fange ich wieder an und ordne jetzt wieder jeden. Den neuen Cluster Mittelpunkten zu,

00:16:52: und das wiederholt man so lange bis die Cluster Mitte Punkte sich nicht mehr verschieben und dann hat man quasi in der stationäre Lösung.

00:17:01: Und das ist genau.

00:17:05: Der der Algorithmus von Canyons die Kostenfunktion die da drin steckt also das was das mathematisch ist das ist die sogenannte within Cluster,

00:17:14: sum of squares Aufgabe ich WC,

00:17:17: ss das heißt ich Sumire die mittleren Abstände der Punkte zum Cluster Mittelpunkt für jedes Cluster und das möchte ich minimieren also Hanse wo sind Cluster Samos Kerstin möchte minimieren das ist das ganze,

00:17:30: mathematisch gesehen on.

00:17:32: Was daraus einhergeht sind mehrere Annahmen die ich eigentlich über meine Daten Apriori treffe.

00:17:41: Denn diese Abstände die berechnen also erstmal muss ich überhaupt festlegen wie berechne ich solche Abstände typischerweise macht man das mit einer euklidischen Distanz das heißt diese normale Distanz die wir kennen.

00:17:52: Betrag eines Vektors genau Betrag eines Vektors ich ziehe alle Dimensionen von an der aquatisiert aus und ziehe die Wurzel da drüber und.

00:18:02: Das bedeutet aber ich gehe davon aus dass meine.

00:18:06: Cluster typischerweise sphärisch sind da so in in alle Richtungen gleich ausgedehnt.

00:18:16: Und dass ich die Features weil ich blocke meine Daten ja entlang der Feature Achsen also so viele Feature wie ich hab so viele Dimensionen habe ich,

00:18:26: dass die ungefähr gleich groß sind also dass die gleich große Einheiten haben weil du kannst dir vorstellen wenn ein Feature jetzt viel größere Rangers hätte also von viel,

00:18:36: kleineren so viel größeren Werten geht es Jan dann feature.

00:18:40: Dann hätte das einen viel höheren Einfluss auf die Kostenfunktion könnte man das nicht weg normalisieren deswegen haben wir damit jetzt eine neue vor Verarbeitungstechnik gefahren wie wichtig ist wir sollten Ausreißer entfernen wir sollten.

00:18:53: Eine einheitliche also die Varianz standardisieren und wir sollten.

00:18:59: Normalisieren auf gleiche also mit Max Skalierung auf gleiche Werte genau.

00:19:06: Und das muss man sich halt quasi im Vorhinein überlegen und man muss sich auch quasi überlegen gehe ich davon aus dass meine Klasse diese Eigenschaften erfüllen werden du kannst dir ja andere,

00:19:16: Verteilung von Daten vorstellen auf da sei wieder auf die scikit-learn Doku verwiesen die ganz viele Beispiele hat mit Punkte Wolken welcher Algorithmus dafür am besten geeignet ist also wenn man das schafft sich vorzustellen wir können sich ja vorstellen ich habe,

00:19:29: ganz viele Punkte in so einem kleinen Kreis und dann sehe ich einen viel größeren Kreis um den kleinen Kreis.

00:19:35: Und auf dem liegen auch wieder ganz viele Punkte heißt quasi mein Inneres Klasse wird von dem äußeren Cluster umschlossen das wirst du mit K-Means nicht entdecken können weil.

00:19:46: K-Means im Eisfach die in dem Fall ist es dann ja zweidimensional was ich jetzt geschrieben habe einfach die Distanzen berechnet und er zieht dann quasi in der Mitte ein Strich dadurch.

00:19:57: Okay das stimmt das stimmt ich würde mal ein bisschen rekapitulieren ich hatte dir ja irgendwie vor vor entfernt hat Zeit gestern quasi eine Frage gestellt die da hieß was meinst du eigentlich mit Verteilung in der Tabelle ich muss gestehen,

00:20:12: ich habe wesentlich und fachlicher gefragt ich habe gerade überlegt gut wir haben eine Tabelle und Unterverteilung habe ich mir jetzt etwas rein visuelles vorgestellt,

00:20:22: das hattest was du damit meint Farbe eine rein statistische Verteilung der Werte,

00:20:26: genau diese diese Antwort hätte dabei dich schon gereicht für mich an der Weise hast du mich das gestern gefragt als ich schon fast im Feierabend waren gerade einkaufen gehen wollte er ja,

00:20:37: nee alles gut alles gut das nächste und da muss ich will ich einfach wieder ein bisschen weiter zurückgreifen,

00:20:46: war das am Anfang hattest du gesagt wir sind extrem gut darin Sachen zu visualisieren also wir können auch durch sehr gut erkennen was ein Cluster bildet und was zusammen gehört na und das muss man natürlich den Computer irgendwie beibringen dass es das was

00:20:57: Verfahren das jetzt gerade geschrieben hast aber auch da habe ich eine wesentlich und fachlich habe Frage an diesem Punkt und zwar ich habe eine Tabelle.

00:21:04: Diese Tabelle kann ja x Spalten haben lass uns mal 10 Spalten haben ich habe ja noch gar keine Visualisierung also ich gucke ja gar nicht so richtig auf die Tabelle und kann dann sagen okay diese Sachen die gehören jetzt zusammen.

00:21:17: Was meinst du denn damit wenn wenn du sagst also da ist jetzt einfach in irgendeine beliebige newscase wo du 10 Features hast also du bist,

00:21:26: für dimensional als du es visualisieren kann genau ja also dann wird es tatsächlich schwer da also in diesem wir können ja nur dreidimensional uns grafisch vorstellen und können dann auch nur da uns Augen sind voll benutzen.

00:21:41: Also eine Möglichkeit die du da hast ist du kannst dir unsere Podcast Folge über dimensioned Reduzierungen mit der principal component Analyse an gucken und dann kannst du,

00:21:51: deine 10 Features auf drei principal components und auch auf 2 reduzieren dann kannst du es plotten und dann kriegst du schon mal eine Vorstellung also das wäre,

00:22:00: eine Möglichkeit wenn das zwingend in jedem Sachverhalt sind voll also ich meine die Pisse erst dann gut wenn Daten korrelieren aber nehmen wir jetzt mal an wir haben 10 komplett unkorrelierte Spalten also du musst das nicht machen und quasi die.

00:22:15: DM also K-Means funktioniert auch höherdimensionale ja es ist einfach eine Hilfe wenn du es dann selber visualisieren willst und wenn du es mit deinem KODi mit deinem Geist mit deinem Auge überprüfen Wer ist.

00:22:29: Genau dieser euklidischen Abstände von denen du gesprochen hast die funktionieren quasi in beliebig vielen Dimensionen genau! Sei mal die gleiche mathematische Formeln,

00:22:38: das bedeutet ich mein wenn ich jetzt einen K-Means denke dann oder K-Means Clustering denke dann habe ich immer direkt diese Bilder.

00:22:46: Im Auge Forum Koordinatensystem ein zweidimensionales geplottet ist und man sieht da seine bunten Wolken drin aber wenn ich dich jetzt richtig verstanden habe dann muss das gar nicht immer der Fall sein ja,

00:22:55: nee das kann beliebig hochdimensional so einer ja also man wird nicht immer zwingend etwas sehen.

00:23:02: Nee das wirst du dann nicht mehr sehen also z.b.

00:23:07: Ja so so gehen expressionz Daten ich weiß nicht wie viele Gene du da nebeneinander hast da ja cool.

00:23:15: Wie findest du es denn an eigentlich also,

00:23:18: das was du jetzt gerade alles gesagt hast ist das etwas was du dir rein programmierst aktiv in deinen machine learning code oder ist das etwas was dir deine Bibliothek abnimmt und du musst ja im Prinzip nur noch die richtigen Werte übergeben,

00:23:31: Nerv sendet mich ein bisschen an unsere erste Folge wo wir dieses Thema hatten mit wie Wichtiges mathematisches hinterher wissen und so.

00:23:41: Ich glaube das ist tatsächlich sind wir dann jetzt an dem Punkt wo wir dann gar nicht so schlechtes Beispiel haben für das was ich damals auch schon sagte denn die Benutzung von K-Means mit Säugetieren ist wie alles mögliche da recht einfach also ich habe meine,

00:23:55: Daten nicht Pak dienen Pandas dataframe und ich.

00:24:01: Schmeiß die durch meinen scikit-learn Code von 23 Zahlencode und da wird was rauskommen.

00:24:06: Das ist immer der Fall und das sieht auch im Zweifelsfall noch gar nicht mal so schlecht aus.

00:24:14: Und ich glaube dann kommt so ein bisschen der eigentliche Inhalt,

00:24:19: von data science zum Vorschein dann muss ich nämlich mein Domain knowledge benutzen also mein domänenwissen und muss mir halt überlegen macht das Sinn was da rauskommt warum.com.

00:24:30: Das so daher raus wie ich es hier sehe und.

00:24:35: Habe ich meine Daten so vorbereitet wie der Algorithmus das eigentlich annimmt dann sein und.

00:24:43: Also tatsächlich war das in diesem Fall von der Kundensegmentierung man das ganz schön gesehen.

00:24:50: Ich hätte gerade diese RFM recency frequency monetary value und wenn man das jetzt einfach mal.

00:24:57: Nur so macht dass man diese Werte aus den Daten berechnend ich habe da mal ich habe mal hier bei Amazon machine learning Workshop gegeben und 1 wer gibt so ein käckel online retail Datensätzen,

00:25:10: Shop aus UK die ganz viele Kunden haben und alles mögliche verkaufen Andi,

00:25:15: na kann man das ganz einfach mal gibt's auch tausend Tutorial ist in den meisten dieser Tutorial sieht man dann ja ok die gucken.

00:25:22: Was haben wir heute für ein Datum wann war der Kunde zuletzt da und habe ich den wissen sie wert.

00:25:28: Irgendein Anzahl von Tagen dann wird geguckt group by customer count received ID dann weiß ich wie oft war der da dann habe ich die Frequenz und dann summiere ich noch den Umsatz Kunden und dann habe ich den Gesamtumsatz,

00:25:43: habe ich meine drei Features werde ich das durch K-Means schönes dass es dreidimensional ich kann mir das noch angucken.

00:25:50: Und dann wirst du irgendwie Punkte Ball gesehen wo sehr schön hintereinander liegende,

00:25:56: Klasse du dir dann blocken kannst mir schönen drei unterschiedlichen Farben und die werden komplette Ninja hintereinander liegen.

00:26:04: Und du wirst oben in der Ecke wirst du identifizieren Kunden mit einem sehr hohen Umsatz mit einer sehr hohen Frequenz.

00:26:13: Und die erst kürzlich da waren dann schreibst du dran das sind meine Top Kunden weil die sind ja klasse so die kommen er sofort.

00:26:20: Und unten hast du andere Kunden ganz niedriger Umsatz niedrige Frequenz und waren lange nicht mehr da das sind die schlechten Kunden und dann bist du fertig und.

00:26:31: Warst du dann aber nicht gemacht hast ist ein gutes data preprocessing bei.

00:26:37: Deine die Daten die du benutzt hast die haben jetzt ein paar Probleme denn eines dieser Problem ist die Feature die sind sehr hoch korreliert.

00:26:46: Denn die Kunden die in sehr hohen Umsatz haben sind wahrscheinlich auch die Kunden die sehr oft da waren weil mit jedem Mal mit dem die da waren hatten die wieder einen höheren Umsatz.

00:26:55: Das heißt du hast geclustert auf korreliert and features das heißt im Endeffekt der dass du wahrscheinlich das gleiche Ergebnis bekommen wenn du nur auf dem Umsatz geclustert hättest,

00:27:03: die Frequenz hast du gar nicht als eigenständige Eigenschaft deines Kunden betrachtet sondern die hat einfach dem Umsatz mitgeholfen,

00:27:11: das heißt das wäre hier besser gewesen es wäre besser gewesen wäre es den durchschnittlichen Umsatz pro Einkauf genommen weißt du teilst einfach deinen Gesamtumsatz durch die Anzahl der Einkäufe.

00:27:22: Und dann sind die beiden Features dekoriert ja dann weißt du auch wenn der Jannis wenn er da ist gibt er viel aus ich weiß aber nur anhand dieses Wertes noch nicht wie oft er da war ja so und jetzt kann ich auf einmal Kunden mit einem hohen Baum.

00:27:36: Und Nanni trinken Frequenz von Kunden mit einem niedrigen bon in der niedrigen Frequenzen sind kann diese Dinge besser separieren und das ist ja das was ich eigentlich will also das ist die Realität die dein.

00:27:49: Online retailkunde wahrscheinlich kennt und erwarte.

00:27:53: Und du hast all die anderen Problemen die wir eben hatten die wirst du da drin auch haben du hast Ausreisser du hast Kunden mit einem extrem hohen Umsatz und wenn du die drin lässt und du berechnest dein euklidischen Distanz Nümbrecht ist die Vektor Abstände.

00:28:05: Dann wird dieser eine Kunde mit dem sehr hohen Umsatz dafür sorgen dass der R-Klasse mit dem Punkt mehr in seine Richtung gezogen wird.

00:28:12: Und das heißt dein ganzes Glas da verschiebt sich ein bisschen dahin und du hast dann aber eine schlechtere Auflösung bei dem Großteil deiner Kunden und die kriegst du nicht mehr so gut das heißt man kann sich sein Klasse auch irgendwie schön tunen ne.

00:28:24: Wir bzw du genau also du kannst durch ein schlechtes preprocessing

00:28:29: Klasse bekommen die vielleicht dann schön aussehen aber nicht dementsprechend was du eigentlich suchst oder also wenn man überhaupt von so einer Wahrheit sprechen kannst es halt an super weiß aber man kann ja auch entsprechend hinzu eine Erwartung arbeiten.

00:28:42: Genau an das ist halt auch der.

00:28:46: In in dem speziellen Fall wird dein Kundenerwartung haben und wird schon sich vorstellen was für Kunden habe ich denn aber also die Erwartung wie es ja auch nicht random sondern der kennt die ja die sind ja wirklich so.

00:28:58: Kennt das gestern sehr viel schon mit Gruppen Verständnis zu tun also dein Cluster Bild in der Gruppe und du versuchst diese Gruppe zu verstehen können dann sei doch mal direkt rein reingrätschen versteht man jede Gruppe die man sieht.

00:29:09: Das kann mitunter sehr schwer sein ja also dass das muss nicht einfach so ganz easy sein aber das ist glaube ich.

00:29:17: Grundsätzlich auch ein Best Practice also wie gesagt.

00:29:21: Heutzutage sind ja auch komplizierte Algorithmen oft sehr leicht anwendbar und ich habe dann schönes buntes Ergebnis und dann muss man noch viel Zeit in die Interpretation reinstecken und was du dann z.b. machen kannst,

00:29:34: du machst deinen K-Means aLLGUTH musst du hast dann deine,

00:29:38: der gibt dir ja dann deine Label auf deine Gruppen und dann kannst du dir die auch mal visualisieren deine Gruppen was haben denn die jetzt für Eigenschaften was ist denn der mittlere bon die mittlere Frequenz da drin da gibt's dann auch verschiedene,

00:29:51: Visualisierung wie du das darstellen kannst du kannst dir dann so line Plots für jedes Feature machen und kannst gucken ach okay indem in dem einen Cluster habe ich.

00:30:01: Hohe Frequenzen hohe Bons aber niedrige riesen sie ist in dem anderen habe ich niedrige Frequenzen,

00:30:10: Horizon Saison Bons solche Geschichten und dann ist es in dem Fall dann deine Aufgabe.

00:30:17: Dafür Beschreibungen zu finden die Sinn machen wenn man jedes Cluster verstehen oder gib mal sie ja manchmal auf damit zufrieden dass man Kratzer nicht versteht.

00:30:26: Ich glaube das ist sehr ja anwendungsbezogen die Frage ist was willst du mit den Clustern machen also ich war ja jetzt ja eine Marketing context da musst du dir glaube ich schon verstehen weil du dann hinterher daraus ja eine gewisse Marketing Strategie ableiten wirst.

00:30:40: Also das was du mich gestern gefragt hast sofern ich mich daran erinnere war ja so ein bisschen abstrakter du hast du irgendwelche.

00:30:48: Verrückten Daten Pipelines und das sind ganz viele so dass du da einfach so vom auf dem Bildschirm gucken den Überblick verlierst denn du wirst jetzt irgendwie.

00:30:57: Klasse 1 du bist einfach sehen wenn die sich signifikant ändern also in und dann dann.

00:31:05: Ist es glaube ich für dich nicht so wichtig der irgendwie ein tolles Label zu zu finden und die zum Schreiben die ist es dann glaube ich eher wichtig dass du,

00:31:12: eine Lösung findest die aus Daten Sicht Sinn macht die stabiles und wo deine Änderung auch,

00:31:17: wirklich was bedeutet das hat wirklich sinnvoll ist diese Änderung zu detektieren das heißt du kannst dann in dem Fall vielleicht noch ein bisschen weniger.

00:31:27: Domain getrieben daran gehen mit einer Erwartungshaltung du kannst dann vielleicht ein bisschen mehr datengetrieben daran gehen und ganz gucken was ist.

00:31:35: Vielleicht das mathematisch stabilste krass also das ist dann eine Sensitivitätsanalyse also du kannst z.b. deinen Klasse Algorithmus dahingehend prüfen wie sehr ändert sich.

00:31:48: Der outcome wenn ich die Features nur ein bisschen ändere wenn sich das jetzt jedesmal sehr leicht ändert dann,

00:31:54: ist das wahrscheinlich nicht so ein stabiles Ergebnis und dir ist ja dann auch sehr wichtig ein stabiles Ergebnis,

00:32:00: ich würde es mal weniger auf die daten Pipelines beziehen weil das einfach sehr abstrakt ist und viel viel leichteres und schöneres Beispiel sind User Chance oder User activities auf einer Plattform ne,

00:32:11: bedeutet das was ich identifizieren wollte wäre quasi im übertragenen Sinne einen Nutzer der sein Verhalten ändert z.b. von aktiv zu inaktiv.

00:32:21: Und das hätte ich dann gerne erörtert gehabt so dass ich quasi gegensteuern kann und überlegen kann ok was kann ich jetzt mit diesem Nutzer machen damit er wieder aktiv wird.

00:32:32: Ja und das meinte ich dann letztlich mit Rahm Zustandsänderung und jetzt hast du die ganze Zeit oder die ganze Zeit ist übertrieben aber jetzt hast du ja erwähnt dass es stabile und instabile Cluster.

00:32:44: Ist das vergleichbar damit dass ein stabiles Cluster quasi ein Cluster ist wo man über mehrere Zeitperioden wenn man jetzt kontinuierlich will Aktivitäten mitnimmt.

00:32:53: War sie gleich bleiben in Nutzern den Clustern hat oder meinst du damit was anderes.

00:32:59: Ich glaube auch da haben wir jetzt tatsächlich zwei. Also.

00:33:06: Das was du jetzt gerade beschrieben hast ist ja auch so eine Sache also deinen das aktivitätsverhalten von Usern kann sich über die Zeit ja auch quasi.

00:33:18: Über alle deine User gesammelt ändern also vielleicht klicken ich weiß nicht wie du also vielleicht 10 User heutzutage im Internet viel aktiver als ist vor zehn Jahren reinmachen bescheuertes Fraulautern auf einmal geht keiner mehr online

00:33:28: ja oder sowas aber oder z.b. auch wieder im Fall dieser Kundensegmentierung,

00:33:36: die hast du ja einmal irgendwann trainiert mit irgendwelchen typischen Bons und.

00:33:42: Wenn ich das heute mache ich weiß nicht was dein typischer Einkauf ist er ist vielleicht irgendwo so bei 60 € und dann bist du vielleicht da ein top Kunde mit oder mittlerer Kunde jetzt haben wir zehn Jahre lang Inflation und auf einmal hat,

00:33:55: auch jemand mit einem sehr kleinen Einkauf hat schon 60 € Bong,

00:33:59: das heißt dein Cluster dein also deine Klasse Lösungen dann clustermodell wird schlecht altern und du das nicht neu trainierst in dem Fall müsstest du im Prinzip einfach.

00:34:10: Dir die Veränderung all deiner Daten Monitoren also so ein Data trifft so wenn allgemein deine Daten sich ändern dann musst du wahrscheinlich auch dein Modell updaten das heißt meine Annahme die ich gerade getroffen hab die gehen davon aus dass.

00:34:24: Das klasse dass sich der der Umstandes Klasse selbst nicht verändert aber das Nutzerverhalten Anderson dem Fall genau und das hast du jetzt geschrieben hast ist dass sich quasi das,

00:34:33: der der Gesamtzustand des Clusters Anderson und damit hast du ja sogar angefangen ok klar,

00:34:37: ja genau eine andere Sache also diese Sensitivitätsanalyse die die können jetzt auch einfach sein dass es dass ich nicht unbedingt der der komplette Mittelwert meiner Verteilung ändert sondern.

00:34:49: Dass ich einfach nur.

00:34:51: Also innerhalb der gleichen Verteilungen bisschen Schraube an den einzelnen Feature werden die so ein bisschen verteile und also ein bisschen quasi wackel und wenn das schon dazu führt dass mein Ergebnis jetzt komplett andere Cluster Sinn.

00:35:03: Dann ist meine Lösung da nicht sehr stabil dann dann habe ich da schon ein Problem was war denn nun Schrauben an so einem vita wie kann ich mir das vorstellen.

00:35:13: Ich meine die Werte sind ja fest na also wir haben jetzt ja du kannst ja ja aber z.b. ein bisschen neues drauf geben du kannst ja ja normalverteilten Neues oder so mal drauf geben und vielleicht kommt dann was ganz anderes

00:35:23: was heißt du verstehst sie Datum in E-Mail genau du verschiebst sie so dass ich aber quasi die Statistik der Gesamtheit nicht verändert,

00:35:29: cool und dann kommt was anderes was in bei K-Means hast du sogar auch.

00:35:33: Sowieso das inhärente Problem ich hatte ja gesagt zu dieser Algorithmus so grob der funktioniert so ich werfe am Anfang eher zufällig Cluster Mittelpunkte in meine Laden.

00:35:44: Versteckt ihr zufällig drin und es ist tatsächlich so dass jedes Mal wenn ich das mache kommt ein bisschen andere Klasse raus.

00:35:53: Wenn ich jetzt Glück habe und irgendwie newscase habe wo die Cluster die da rauskommen aber trotzdem immer.

00:36:00: Recht ähnlich sind und sich in gleichem Maße in der portieren lassen ist das ganz schön dann heißt das schon mal dass ich ganz gut verständliche Daten habe.

00:36:08: Kann aber auch sein dass quasi mit jedem Mal wo ich das Modell trainiere und auswerte dass sie wieder anders aussieht dann ist es offensichtlich auch sehr sensitiv gegenüber den den Metallisierung gegenüber den Anfangsbedingungen,

00:36:21: dann habe ich auch ein Problem da gibt's dann auch ein paar Methoden was man machen kann.

00:36:26: Man kann z.b. standardmäßig einfach das zehnmal laufen lassen und dann nimmt man vielleicht die Lösung die haben Ende den geringsten Abstand zu den Cluster mit den Punkten hat also die Kostenfunktion am geringsten ist skip,

00:36:40: auch ne das habe ich eben noch mal schnell nach gelesene K-Means plusplus Implementierung.

00:36:51: Ich habe die ehrlich gesagt selber noch nicht benutzt was ich habe eben in den Docks gelesen habe ist das im Prinzip die Idee davon die ist dass ich die,

00:37:00: Initialen Klasse dich da rein werfe mit einer möglichst großen Distanz von an der einwerfe und das sorgt wohl auch immer für recht gute Ergebnisse,

00:37:09: ich kann da jetzt leider nicht aus der Bahn sah gar nicht schwimmen ich meine man kann an der Stelle auch sagen dass die die Docks von scikit-learn da steht so glaube ich gerade an einfach sehr gut sind ne also die haben da sehr viele Tutorials die Aufseher was Tutorial,

00:37:21: nicht mal bedingt aber die dokumentieren sehr gut und dir erkläre mal noch einfach sehr sehr gut na das ist jetzt nicht,

00:37:27: wieso einen Wikipedia-Artikel finde ich teilweise der der sehr abstrakt ist wo tausende Leute drin rum gewurschtelt haben wo einfach,

00:37:34: und seidige links dran sind sondern finden Sie die Doku von K-Means,

00:37:40: einfach sehr sehr gut auf Aldi und nicht vom Kamin die Doku von scikit-learn sehr sehr gut einfach weil die das Thema erklären und B super Fehler,

00:37:48: Beispiele auch mit Notebooks haben wo man dann auch Querverweise zu anderen Themen sieht wie z.b. wenn man es preprocessing nicht versteht,

00:37:55: kann man relativ schnell mein Ding 100 ICE wenn das Teil davon hast ne also einfach hammer glaube ich auch bei der abeasy Erfolge gesagt,

00:38:03: die Doku von scikit-learn ist echt echt cool.

00:38:07: Eine Frage noch und ich glaube dann bin ich prinzipiell erstmal dann habe ich prinzipiell erstmal verstanden was K-Means Clustering eigentlich ist.

00:38:17: Migros oder wie wie kann ich mir denn so eine Gruppe vorstellen sind immer gleich groß sind die unterschiedlich groß kann man das irgendwie so optimieren dass die gleich Büros sein sollen wenn man die Erwartung hat kannst du dazu was sagen also

00:38:28: tatsächlich bei K-Means ist auch einer der Annahmen die dem zugrunde liegen dass man ungefähr gleich große Cluster Sucht ok,

00:38:36: das heißt dass es tatsächlich auch so eine Sache wenn du,

00:38:40: von unterschiedlich großen Klassen aus gehst es K-Means nicht die beste Wahl für ein Algorithmus okay das ist natürlich ein sehr wichtiger und sehr guter Hinweis.

00:38:50: Wie werde ich denn jetzt die richtige Anzahl an Klassen aus also natürlich wir können es mir Erwartungshaltung reingehen wie du schon gesagt hast aber nehmen wir mal an die Amis Erwartungshaltung jetzt nicht genau das war quasi der quasi Domänen geleitete ansetzt über den wir jetzt schon viel gesprochen haben das ist die eine Option,

00:39:05: konnte gib mir vor finde da drin sechs oder ungefähr sechs sechs Gruppen und dann kann man das ganze noch mathematisch machen.

00:39:14: Das heißt ich weiß nicht ob wir schon mal in einem einer anderen Folge.

00:39:24: Ich weiß wo die erklärte Varianz gesprochen haben weiß ich nicht ich höre dir kaum zu.

00:39:33: Also es gibt also denn das ist jetzt eine Methode also erstmal es gibt mehrere mathematische Methoden die ich glaube die die man so als erstes findet wenn man googelt ist die sogenannte elbow method also die Ellbogen Methode,

00:39:44: das ist quasi eine visuelle im Auswahl der optimalen Anzahl wenn man dann Plot erstellt und der Plot der hat so ein Knick also im Optimalfall hat ja so ein Knick den Ellbogen,

00:39:55: und am Ellbogen findet man die optimale Anzahl der Klasse und was man Erwitter geplottet genau was man da nämlich macht ist.

00:40:02: Man lässt K-Means einfach mehrmals laufen für.

00:40:08: MK = 1 bis 10 probiert bis zu 10 Klasse mal alles aus und dann plottet man sich die.

00:40:17: Erklärte Varianz über die Anzahl der Cluster in jetzt müssen wir natürlich sagen was ist die erklärte Varianz.

00:40:26: Und du kannst dir das so vorstellen du hast deine Datenwolke die du Plot ist über die Feature und.

00:40:37: Wenn du.

00:40:38: Und quasi die die Informationen die da drin steckt ist quasi die Ortsinformationen eines jeden Punktes du weißt von jedem Punkt dann wo er ist.

00:40:47: Und das weißt Du quasi in dem Moment wenn du jeden Punkt als sein eigenes Cluster ansiehst also sagen wir du hast 100 Punkte,

00:40:54: und wenn du dann 100 Kaster nimmst dann ist jeder. Sein eigenes Cluster und dann hast du die komplette Informationen dann hast du quasi eine maximale erklärte Varianz an verstehst du alles dann passiert,

00:41:07: und wenn du jetzt aber sagst ich schenke das ein und ich mache daraus eine geringere Anzahl von Clustern.

00:41:16: Dann wirst du danach weist kennst du nur noch den Mittelpunkt eines jeden clusters.

00:41:23: Und das heißt für jeden einzelnen Datenpunkt in so einem Cluster kriegst du quasi eine Unsicherheit in der Milch da wo er eigentlich liegt und dann der Abstand zum Mittelpunkt.

00:41:34: Und diese diese Unsicherheit die ist umso größer je weniger Cluster du hast.

00:41:42: Wenn du sagst alle Punkte sind nur noch in einem Cluster dann hast du nur noch einen Mittelpunkt und quasi,

00:41:49: und dann ist die Unsicherheit quasi die Varianz seines kompletten Datensatz ja Varianz ist ja immer die Summe der Abstände aller Punkte zum Mittelpunkt,

00:41:57: wenn du ein Cluster hast dann ist quasi die varianza drin genau die des ganzen datensätz.

00:42:03: Und wenn du dann Cluster dazu nimmst dann wird die Varianz immer also die erklärte Varianz wird dann immer ein bisschen größer also du hast immer ein bisschen mehr Informationen bist du theoretisch jeden Punkt als eigenes Cluster hättest und das ist also.

00:42:15: Mit der also wenn du.

00:42:17: Auf der x-Achse die Anzahl der Klasse hast und erklärte Varianz oft Y-Achse dann ergibt es genauso eine Ellbogen Kurve und was man dann sagt ist an diesem Ellbogen.

00:42:27: Da ist so ein Knick und das heißt an der Stelle habe ich eine.

00:42:35: Ähm sehr also sehr wenig zusätzlich erklärte Varianz wenn ich Cluster mehr nehme.

00:42:42: Also quasi der der Vorteil den ich dazu bekomme noch ein Cluster mehr zunehmen im Sinne meiner erklärten Varianz der ist da deutlich geringer als es vorher ist,

00:42:51: das heißt da macht sein aus Datensicht sind zu sagen ok dann höre ich jetzt hier auf,

00:42:55: mir noch mehr Cluster einzufangen die am Ende mir wieder ist schwerer machen das Ganze zu erklären was ich der Klasse habe,

00:43:02: weil so viel mehr Varianz erkläre ich dadurch jetzt nicht mehr ging mir so ein bisschen nach overfitting was es anders für Dinge also starke Generalisierung versus nicht so starke Generalisierung,

00:43:12: könnten so ein bisschen genauer an das eine Methode eine andere Methode also da da kommt dann auch wieder,

00:43:18: auch da die da drauf an was möchtest du also was was für eine Lösung wünscht du dir von.

00:43:27: Von deiner Clusterlösung was für Eigenschaften soll die haben und hier ist es quasi die erklärte Varianz es gibt noch sowas wie den chello.at score.

00:43:36: Da vergleicht man im Prinzip den.

00:43:41: Abstand eines Punktes zu den anderen Punkten seines Clusters mit den ab mit dem Abstand den dieser Punkt zu den Punkten des nächstgelegenen Clusters hat.

00:43:52: Und das rechnet man miteinander und bekommt dann Score von -1 bis 1 raus und der sagt mir dann im Prinzip wie.

00:44:00: Ja wie wie gut meine Cluster separiert sind Fonda.

00:44:04: M&M mir vielleicht das wichtig ist dass ich sehr gut separierte Gruppen finde dann ist er so let's go eine gute Methode und dann gibt's noch eine ganze.

00:44:11: Reihe anderer Methoden aber das glaube ich so die zwei bekanntesten und die sind dann halt,

00:44:16: eben genau die sind dann mathematisch definiert es ist wirklich eine mathematische Größe die ich ausrechnen dann sage ich ok die Daten sagen die optimale Anzahl an Clustern ist das und dann ist die Frage ob du es auch gut erklären kannst klingt spannend.

00:44:31: Wie bewertest du denn auf ein Cluster generell gut oder schlecht es,

00:44:38: das auch eine gute Frage also zum einen kann ich mir oder warte vielleicht vielleicht eingehakt noch sorry die Herausforderung dabei woher komme ich,

00:44:48: Hörmann lernen lineare Regression dann kann ich ja sehr gut prüfen wie groß meine Abweichung von.

00:44:55: Der Regressionsgeraden eigentlich ist nah und wenn ich in großer Verteilung um diese gerade habe dann habe ich eben keine linea korrelierten Daten und entsprechend habe ich schlechtes Modell meine Bilder und je näher ich mich dann ja das so.

00:45:09: Am besser bin ich das hasse ich habe wirklich faktisch ein mathematischen Wert bzw eine Zahl sogar,

00:45:16: adima sagt ob das was ich gemacht habe jetzt gut oder schlecht aus zumindest zum Teil der linearen Regression und ich glaube bei relativ vielen supervised learning Methoden ist das der Fall,

00:45:26: beim Clustering schlecht mir das jetzt super schwer vor.

00:45:30: Genau also da hast du dann eben auch eigentlich diese zwei Möglichkeiten also wenn du einen Daten Zeit hast und du hast da für 2 Klasse Lösungen kannst du z.b. den.

00:45:38: Toilette Silhouette oder Schüco jetzt Korea,

00:45:42: den kannst du ausrechnen und dann kannst du ihm sagen ok die eine Lösung da habe ich besser separierte Cluster als in der anderen

00:45:49: die Frage ist aber haben sie überhaupt vielleicht sehen gut temperierte Cluster gesucht oder war mir etwas anderes an der schirnau das ist bei mir klick,

00:45:56: na das kannst du genauso gut mit der übung Methode machen ne gerne an wenn du schaust welche Variante hast du noch an deinen Daten genau aber das ist dann so ein bisschen die Frage also das ist auch ist natürlich,

00:46:06: manchmal klappt das ist ja schön manchmal solltest du eine Evo Methode und du hast keinen Ellbogen du hast eher so eine gerade und dann ist es schwer da gehe ich zur silhouett genau und dann neigt man vielleicht dazu er ein paar mehr Klasse zunehmen so aber

00:46:19: theoretisch kannst du dir auch da einfach eine Metrik definieren was ist mir wichtig welche Eigenschaft soll meine Clusterlösung haben dann kannst du die quantitativ analysieren.

00:46:29: Und das andere ist wiederum dieses Domänen getriebene macht das Sinn für meinen Use-Case und kann ich das interpretieren und kann ich das verstehen.

00:46:39: So eine Möglichkeit und schön ist es natürlich wenn du es botten kannst und du kannst dein,

00:46:44: von Evolution trainiert das Gehirn da drauf gucken lassen und also in ganz vielen Fällen guckt man drauf und sagt was ist denn da passiert also er hat offensichtlich nicht gefunden also wir haben dann das Gefühl genau zu wissen was richtig ist,

00:46:57: was für uns sehr klar ist ne spannend.

00:47:03: Was sind denn so Voraussetzungen die man erstmal erfüllt haben muss um.

00:47:08: Die richtigen Daten zu haben Voraussetzung in dem Sinne brauche ich viele Daten oder kann ich das schon auf wenig Daten machen bei euch viele Feature oder reicht mir schon mal ein paar aus.

00:47:18: Also du kannst.

00:47:22: Auch sehr wenige Daten Clustern also das ist es jetzt nicht so dass du du musst ja nicht wie beim supervised Probleme irgendwelche,

00:47:31: Label lernen und die dann akkurat klassifizieren du wirst immer irgendeine clustervision also kannst du dir 5 Punkte hin malen dann kannst du die in 3 Cluster einteilen ich kein Problem die Frage ist am Fasten 8h,

00:47:43: ja aber kann man sich ja schon vorstellen kannst drei Stück ganz nah zusammen malen und die zwei anderen woanders hin und dann findest Du da drei Clustering das hältst

00:47:50: es außer jetzt erstmal auf eine K-Means Analyse überhaupt Sinn macht ne aber es gibt so gesehen keine großen Anforderungen an die Menge der Daten müssen an die Qualität,

00:47:59: genau also du,

00:48:01: hast diese diese Grundvoraussetzungen du gehst von sphärischen Clustern aus du gehst von Clustern gleicher Größe aus und was hatten wir noch.

00:48:12: Genau das die eine ähnliche Varianz haben und normierte Feature Werte haben cool.

00:48:21: Vielleicht noch als ich glaube schon fast letzten. Das hat es jetzt gerade einmal angerissen am Klasse Updates hör nehmen wir mal an,

00:48:29: Inflation kommt jetzt gerade der Fall oder Corona und die Leute waren auf einmal alle drinnen und nicht mehr draußen und wenn man da jetzt irgendwelche Modelle hat ist muss ja nicht nur mit dem Kamin sein das kann ja alles sein,

00:48:41: am ganz ganz viele machine learning Modelle Arm in dieser Zeit nicht mehr richtig funktioniert oder nicht mehr erwartet funktioniert also was ich damit sagen will es gibt unzählige Gründe warum man etwas jetzt,

00:48:51: am

00:48:53: Updaten möchte sei jetzt Namen harter Einschnitt wie jetzt in unserem Fall die Inflation oder Corona oder seist es einfach ein Nutzerverhalten welches sich über die Zeit ändert.

00:49:04: Welche raus warum gibt es da bei K-Means Clustering nicht meines ist ja so schon schwer die Klasse zu erklären ja,

00:49:12: genau also ich glaube dir bleibt dann in so einem Fall nichts übrig dass du halt einfach deine neuen Daten wieder durch die,

00:49:21: Vorfahr Wartungs Pipeline schickst neue Clusters und dann kannst du dir mal angucken dann kannst du dir z.b. angucken.

00:49:31: Du hattest ja vorher eine gewisse.

00:49:34: Verteilung deiner Punkte auf die Klasse also quasi wie bei einer Wahl wie viele haben CDU SPD FDP gewählt und dann hast du die hinterher und dann kannst du mal in dann kannst du dir so wanderungs Diagramme zeichnen kannst gucken wie,

00:49:47: ist das ungefähr gleich groß geblieben oder habe ich jetzt das jetzt auf einmal das eine Klasse viel größer,

00:49:53: und dann musst du eben ran gehen und muss gucken warum ist das jetzt eigentlich der Feier also was ist jetzt anders also wenn die jetzt auf einmal alle viel höhere Bons oder.

00:50:04: Genau,

00:50:05: sind die sind die Verteilung anders was meins mit das krasse ist jetzt viel größer also du dachtest ich habe ja gerade gefragt wie es die Verteilung innerhalb der einzelnen Gruppen du gehst jetzt bei Kaminzimmer davon aus dass die gleich verteilt sind,

00:50:17: ja also aber du kannst also du hast ja schon also die sind ja nicht,

00:50:22: exakt gleich große so machst jetzt irgendwie du Douglas Test auf weiß ich nicht bleiben wir bei diesem,

00:50:30: top Kunden mittleren Kunden schlechten Kunden und dann hast du halt irgendwie deine 20 % ob Kunden 30 % schlechte Kunden 50% in der Mitte und jetzt auf einmal dann ist das auf einmal sehr stark ändert,

00:50:44: dann.

00:50:46: Fütterst kannst du dich ja fragen warum also was ist da passiert haben Sie irgendwelche anderen geändert aber es wird sich jetzt nicht grundlegend ändern das von den 20% auf einmal nur noch 3% übrig sind und.

00:50:58: Würde ich für unwahrscheinlich halten ja okay ja so wie ich das verstanden hat meine Canon nicht meint das könnte dir also wo du wo du aufpassen musst vielleicht noch so ein.

00:51:07: Was du mit K-Means machen kannst K-Means hat eine Predigt Funktion anderen scikit-learn Library und du kannst es jetzt quasi einmal trainieren.

00:51:16: Und dann.

00:51:18: Ich möchte zwei Jahre lang da liegen und dann schickst du neue Daten da wieder durch und Predigt ist und wenn da jetzt aber deine Daten sich grundsätzlich geändert haben das Einkaufsverhalten Inflation was auch immer,

00:51:29: dann kann das schon sein dass das was früher und hoher Bonbons jetzt seit niedriger Bogen und jetzt werden auf einmal 20% zu 3 %,

00:51:36: weil du es auch gar nicht neu trainiert hast dann würde er das Cluster selbst das ist ja dann genau das gleiche im Wesen hin also das Modell nah und nur die Prothetik predictions ändern sich dann genau und das würde ja dann keinen Sinn mehr machen okay,

00:51:49: am jetzt kannst du über Kamins geredet gibt es noch Alternativen zu Campingplatz Ring,

00:51:58: auf jeden Fall genau die die beiden mit denen ich jetzt schon bisschen mehr Kontakt sonst noch hatte sind du kannst nicht erreicht isches Clustering machen.

00:52:11: Da kannst du also da da kannst du im Prinzip so ein Baum in der Druckraum zeichnen indem du,

00:52:20: quasi auf verschiedenen Leveln die verschiedenen Anzahl an möglichen Clustern hast und dann gibt's ja verschiedene Methoden entweder bottom-up also,

00:52:28: das ist dieses du fängst an jeder. Ist ein eigenes Klasse und nach und nach füge ich die zusammen und verschmelze die quasi und habe dann mehr Klasse und Pauli zusammen.

00:52:37: Oder du fängst oben an und löst das nach und nach auf in einzelne Klasse.

00:52:43: Da ist z.b. also das kannst du z.b. machen auf Basis von.

00:52:48: Wenn du so eine deine deine Datenpunkte Inhalt Distanzmatrix hast und jeder datenbunker zu jedem anderen Datenpunkte Distanz und dann verschmilzt du als erstes die die nah beisammen sind und dann.

00:53:00: Rechnest du eine neue Distanzmatrix jetzt mit einem Cluster als neuem. Und guckst Wer ist welches Netz am nächsten zusammen und so nach und nach und dann hast du quasi so eine Hierarchie in der Reihenfolge deiner Cluster Stufen.

00:53:12: Das ist eine Methode eine andere Methode ist noch dB Scan das ist so ein dichte basiertes Clustering.

00:53:22: Da ist quasi die die dahinterliegende die du suchst.

00:53:28: Punkte Wolken gleicher Dichte weißt du aus dem Gewissen Suchradius in dem suchst du nach neuen. Wenn du einen findest gehört ja zum Cluster,

00:53:36: Und wenn du keinen mehr findest ist das Cluster fertig und du fängst beim nächsten Klasse an und dann findest du so Punkte Wolken gleicher Dichte nah beisammen.

00:53:45: Das ist eine Möglichkeit es gibt da noch so Methoden wie Gaussian mixture models da versuchst du.

00:53:53: Cluster die zu gleichen Verteilungen gehören zu finden,

00:53:57: also kannst du ja vorstellen dass deine Daten vielleicht drei übereinander gelegte Gaußverteilung sind versucht die zu identifizieren es gibt da eine ganze Menge auch da,

00:54:07: mein Verweis auf die Seite turn Library wo du für all diese verschiedenen Methoden,

00:54:13: dann auch Bilder hast und sie ist wo drin sind die gut so und quasi welche Art Daten können die gut unterscheiden und welche können die nicht unterscheiden und wenn du dir davon jetzt ein Thema.

00:54:24: Für eine neue Folge Ailionauten Verkehrs! Welche wäre das.

00:54:34: Er würde ich vielleicht übers erreicht Clustering als ne sprechen ja das machen wir als nächstes.

00:54:40: Ja also du bist ja bestimmt noch immer ein zwei Gäste jetzt dazwischen haben und dann werde ich habe ich bestimmt wieder Zeit ja okay okay okay ja das ist würde ich mal so festhalten und habe das Thema

00:54:50: festgelegt ich bedanke mich sehr selber dir mir hat eine große Freude gemacht hast du noch was abschließendes dazu zu sagen oder gibt es noch was was was,

00:54:57: ausreichendes gecovert wurde nee ich.

00:55:01: Bin vollends glücklich vollends glücklich sehr sehr gut hast du schon ausgetrunken ich habe noch nicht ausgegangen ich muss ja die ganze Zeit reden ja das heißt du hast noch eine gute halbe Flasche,

00:55:11: das müssen wir natürlich überlegen über die verbleibende Zeit verbringen außer das Podcast.

00:55:17: Er steht ja 30 für dich das heißt nächsten Podcast die Auflösung konnte ja nicht seinen ersten Sieg vorher schwarz bis gleich bei dir und danke fürs zuhören,

00:55:32: danke dir ciao.

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.