3 - VL_2_1_KMeans [ID:29922]
50 von 157 angezeigt

Hallo, heute sprechen wir über das Thema Clustering und bevor wir mit einem

konkreten Algorithmus anfangen wollen wir erstmal darüber sprechen, was Clustering bedeutet.

Wir machen das anhand eines konkreten Beispiels, das hoffentlich gut illustriert, was

das bedeutet. Wir versetzen uns mal in die Lage eines Data Scientists, der

angestellt ist bei einem Streaming-Anbieter wie Disney plus oder Netflix und er hat

vor sich eine gigantische Liste von Nutzern, also Person 1, Person 2 und so weiter.

Das sind die ID's und zu jeder Person

Einträge, ob er gewisse Filme angeschaut hat oder nicht. Also zum Beispiel ein

Actionfilm XY, mit dem Namen hier, eine romantische Komödie AB, dann vielleicht eine

Dokumentation und so weiter. Das ist jetzt eine sehr lange Liste von Filmen, die

dieser Streaming Service im Angebot hat und zu jedem dieser Personen hat er ein

Häkchen oder eine Eins an den Stellen, wo diese Person diese Filme

angeschaut hat. Also Person 1 hat zum Beispiel diesen Actionfilm angeschaut und diese Dokumentation angeschaut, Person 2 hat diesen Actionfilm angeschaut und diese Romcom, aber nicht diese Dokumentation und so weiter.

Und was sein Arbeitgeber von ihm wissen möchte, ist, ob es in ihrer Userbase

verschiedene Kategorien von Nutzern gibt, die gewisse Arten von Inhalten

bevorzugen, denn angenommen ist ein sehr großer Anteil ihrer Userbase,

wünscht sich weitere Actionfilme vom Typ wie XY, dann wäre es für diesen Streaming-

Anbieter von Vorteil, diesen Content zu zu akquirieren, um diese Nutzer im Programm zu halten.

Das heißt, die Hypothese, die Clustering zugrunde liegt, ist die, in einem großen

Datensatz gibt es oft Gruppierungen von Objekten, die einer speziellen Kategorie

zugeordnet sind. Zum Beispiel gibt es hier vielleicht Person 107, die mag ebenfalls diesen Actionfilm, mag ebenfalls nicht diese Romcom, mag diese Doku auch, hat vielleicht noch andere, vielleicht steht hier irgendwo eine 1 und eine 0, also es gibt hier schon Stellen, wo diese Daten nicht identisch sind, aber ansonsten ist der Match zwischen ihren Vorlieben hinreichend groß, dass man sagen könnte, diese beiden Personen haben einen ähnlichen Filmgeschmack.

Und vielleicht hat Person 2 einen ähnlichen Filmgeschmack wie Person 53 und so weiter.

Das bedeutet, was man hier gerne machen möchte, ist, man möchte gerne eine weitere Spalte einfügen, ich mach jetzt Platz hier vorne,

diese Spalte nennt man Cluster und hier würden wir dann gerne eintragen,

das ist im Cluster 1, diese Person ist im Cluster 2 und so weiter und mit dieser Art von Klassifizierung kann man dann Business Analysis betreiben, man kann dann Entscheidungen treffen über zukünftigen Content,

über spezielle Marketing oder Werbemaßnahmen und so weiter, das heißt, was wir jetzt hier haben, ist, wenn wir eine große Matrix, das ist jetzt schwierig zu plotten, aber ich tue es jetzt einfach mal so, als wären das jetzt hier 2D Daten,

dann sind die Datenpunkte irgendwie verteilt, also natürlich sieht das jetzt hier völlig anders aus als so eine hochdimensionalen Matrix, wie diese hier aussehen würde, aber angenommen, wir hätten jetzt 2D Daten mit Datenpunkten, die so verteilt sind,

dann sieht man hier, es gibt ganz grob 2 Gruppen von Nutzer oder von Datenpunkten, die es hier und hier befinden, die sind nicht identisch, also man sieht, es gibt ja schon eine Variation innerhalb dieses sogenannten Clusters hier und auch innerhalb dieses Clusters hier,

und es gibt auch Punkte, die fallen in weder den einen noch den anderen Cluster und so weiter, aber trotzdem wird es hier eine Gruppe von Objekten, die sich innerhalb dieser Gruppe sehr ähnlich und die unterschiedlich sind zu Elementen oder Objekten aus dieser anderen Gruppe und diese Gruppen, diese Gruppen nennen wir jetzt hier Cluster, also das ist hier Cluster 1 zum Beispiel und das ist Cluster 2.

Mit einem noch etwas plakativeren Beispiel, dann kann man sich jetzt hier dieses Bild anschauen und sich fragen, ok, hier haben diese Daten jetzt irgendwie Struktur, also auf der reinen Pixel Ebene sind die extrem unterschiedlich,

jedes dieser Objekte hier ist anders als jedes andere Objekt, selbst diese beiden hier sind nicht identisch, weil sie Skeletivationen voneinander sind, aber trotzdem, wenn man jetzt hier als Mensch drauf schaut, sieht man sofort, ja, da gibt es Äpfel und Orangen, es gibt zwei verschiedene Kategorien,

ich habe es nun geortiert, aber das sind genau die gleichen Objekte, die ähnen sich innerhalb der gleichen Gruppe, aber sind unterschiedlich zu Objekten in dem anderen Cluster.

Und das war noch ein bisschen analytischer, angenommen wir haben jetzt sowas wie hier, also wir haben Daten von Obst und diese Daten sind jetzt, naja, jetzt nur zweidimensional, wie wir es händlerbehalten, also zweidimensional Daten, wir messen die Höhe von diesem Obst und die Breite von diesem Obst und zu jeder Frucht plotten wir das als einen Datenpunkt in diesem zweidimensionalen Obst,

zweidimensionalen Kortenatensystem und hier sieht man rein visuell, dass es wohl verschiedene Kategorien von Objekten gibt, also mit ein bisschen Fantasie kann man sich jetzt hier überlegen, naja, vielleicht gibt es fünf Cluster, eventuell kann man sagen, dieser hier, dieser hier, dieser hier, dieser hier und dieser hier, das ist einigermaßen glaubhaft,

man könnte aber auch ein bisschen vorsichtiger sein und sagen, naja, vielleicht sind das hier alles Objekte aus demselben Übercluster, das heißt man könnte auch sagen, vielleicht ist das hier ein großer Cluster.

Das bedeutet, je nachdem welche Annahmen man trifft an die Anzahl von Clustern, die man annimmt, bekommt man hier verschiedene Ergebnisse.

Und also visuell kann man das jetzt hier ganz gut machen, man kann sehen, man kann es hier einfach zeichnen und dann bekommt man irgendwas raus, das einigermaßen in Ordnung aussieht und das geht hier händisch, aber in höheren Dimensionen, also sobald die Anzahl der Variablen nicht mehr zwei ist, sondern hier vier oder höher, ist das nicht mehr so einfach möglich.

Also wo sind jetzt hier in dieser Tabelle diese Cluster versteckt? Also Width und Height, also Breite und Höhe sind genau die Punkte hier, aber es gibt jetzt noch zwei weitere Dimensionen, nämlich das Gewicht und diesen Color Score, also diese Art Kodierung, welche Farbe dieses Obst hat.

Jetzt hier auf den ersten Blick zu sagen, was sind jetzt die Gruppierungen, wie viele Gruppen gibt es, ist nicht wirklich einfach.

Das heißt, wir wollen etwas machen, was nicht darauf basiert, dass wir händisch irgendwelche Kringel zeichnen, sondern wir möchten einen Algorithmus definieren, der in der Lage ist, das automatisiert zu machen.

Und dazu stellen wir diese Wunschliste hier auf.

Wir nehmen an, dass wir als Datum, also als Datensatz eine Tabelle gegeben haben, ein DataFrame mit n Zeilen und m Spalten, n ist die Anzahl der Datenpunkte und m ist die Anzahl der Variablen, also ganz so wie bisher die Objekte sind Zeilen, also Obst 1, Obst 2 und so weiter.

Und in den Variablen haben wir sowas wie Breite, Höhe und so weiter. Hier sind dann die Einträge.

Also das hier ist Anzahl n und das hier Anzahl Variablen ist m. Und wir schreiben jetzt x unten m oben n für das ente Obst dessen ente Variable.

Und wenn wir etwas hier FET schreiben, dieses FETx, das ist ein Element rm, das heißt das ist gerade hier so ein Einobst.

Das heißt sowas hier, so ein Vektor, das ist so ein FETx.

So wie das hier.

Und neben den Daten nehmen wir noch an, dass wir versteckt darin Groß-K-Cluster haben.

Was man dann typischerweise in der Praxis macht, ist, dass man einfach mal verschiedene Anzahlen von K ausprobiert.

Man schaut mal, ob man mit zwei Cluster zurechtkommt. Dann schaut man mal ob 3 oder 4 oder 5 ein besseres Ergebnis liefern.

Zugänglich über

Offener Zugang

Dauer

00:28:53 Min

Aufnahmedatum

2021-02-23

Hochgeladen am

2021-02-23 10:17:18

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen