Dieses Video gehört zum openHPI-Kurs Künstliche Intelligenz und Maschinelles Lernen in der Praxis. Möchten Sie mehr sehen?
Beim Laden des Videoplayers ist ein Fehler aufgetreten, oder es dauert lange, bis er initialisiert wird. Sie können versuchen, Ihren Browser-Cache zu leeren. Bitte versuchen Sie es später noch einmal und wenden Sie sich an den Helpdesk, wenn das Problem weiterhin besteht.
Scroll to current position
- 00:00Herzlich Willkommen zur Einheit erster Blick in die Daten für den Anwendungsfall des Filmsvorschlagssystems in Woche 2.
- 00:07Als Data Scientist ist es gang und gäbe, einfach mal in die Daten einzutauchen, um ein Gefühl
- 00:12dafür zu bekommen, wie die Daten beschaffen sind,
- 00:15was für Eigenschaften wir haben und wie viele Beobachtungen wir zur Verfügung haben.
- 00:19Genau das wollen wir in dieser Einheit einmal gemeinsam machen.
- 00:24Zunächst müssen wir natürlich den Datensatz einmal herunterladen.
- 00:28Für diese Woche haben wir uns den folgenden Datensatz ausgesucht: The Movies Dataset, ein Datensatz mit Metadaten über 45.000
- 00:36Filme und über 26 Millionen Bewertung von über 270.000 Nutzerinnen und Nutzer.
- 00:43Der Datensatz kommt von der der Data Science Community-Plattform Keggle, auf der es Datensätze, Codebeispiele und auch
- 00:51sogenannte Data Science Challenges gibt.
- 00:55Wolen wir den Datensatz herunterladen, können wir das entweder manuell machen oder via API direkt im Code.
- 01:04Für beide Möglichkeiten hier eine Kurzanleitung.
- 01:07Allerdings sei gesagt, dass Sie sich dafür bei Keggle einmal anmelden müssen, um jeweils credentialized Access zu bekommen oder
- 01:15ihre Access Tokens, wenn sie das vom Coder heraus machen wollen, setzen können.
- 01:23Zunächst wollen wir uns einmal einen Überblick über alle Dateien verschaffen.
- 01:28Für unseren Anwendungsfall des Filmvorschlagssystems interessieren uns hauptsächlich zwei Dateien.
- 01:34Die Movies Metadata CSV und die Ratings CSV.
- 01:39CSV steht hier für comma-seperated Values. Ein Dateiformat, das sehr bekannt im Machine Learning und Data Science Bereich ist.
- 01:48Um jetzt erstmal ein Gefühl für die sonstigen Daten zu bekommen, wechseln wir zunächst in das Verzeichnis mit den
- 01:55heruntergeladenen Dateien, zeigen uns alle Dateien einmal an.
- 02:00Das heißt hier der Wechsel in das jeweilige Verzeichnis, und wir geben uns die ganzen Dateien, die in diesem Verzeichnis liegen, einmal aus.
- 02:09Hier sehen wir die Movie Metadata CSV und die Ratings CSV.
- 02:15Starten wir zunächst mit den Film-Metadaten.
- 02:18Diese wollen wir nutzen, um eine Content Base Recommendation umzusetzen.
- 02:25Als ersten Schritt müssen wir diese Daten natürlich einmal in den Hauptspeicher laden beziehungsweise uns vorhalten.
- 02:33Das machen wir mit dem folgenden Code und haben somit diese ganze Data Frame, in einem Pandas Data Frame vorhanden
- 02:41Sehr einfach dargestellt, einfach in einer tabularen Form.
- 02:46Wollen wir uns einmal anschauen, was für Eigenschaften diese Datei hat und was für Features und Dimensionen wir haben,
- 02:55so können wir uns mit dem Befehl Punkt Head die obersten Elemente dieses Data Frames einmal ausgeben lassen.
- 03:01Das wollen wir jetzt einmal machen.
- 03:04Sie sehen beispielsweise, dass für jeden Film es angegeben ist, ob es ein Erwachsenenfilm ist, ob der Film zu einer Reihe gehört
- 03:13oder ob, ja, wie das Budget eines Films ist, welchen Genres dieser Film zugeordnet wurde, was die Originale Sprache in dem
- 03:23Film oder die Original gesprochene Sprache in dem Film ist und wie der Titel ist und auch viele weitere Features.
- 03:30Da wir hier über zehn Features haben, wollen wir den ersten Überblick ein bisschen einfacher gestalten.
- 03:38Und nutzen deswegen eine bestehende Bibliothek, um uns einen kurzen Überblick oder einen kurzen Report über alle Features erstellen zu lassen.
- 03:48Das wird nun einige Sekunden dauern.
- 03:50Aber wir bekommen dann einen Überblick über alle Features und Eigenschaften in diesem Datenset.
- 04:07In diesem Überblick bekommen wir nun einen Grobüberblick oder in diesem Report bekommen wir nun einen
- 04:12Grobberblick über alle Statistiken und alle Eigenschaften der verschiedenen Dimension.
- 04:18Insgesamt haben wir über 21 verschiedene Variablen, ca. 45.000 Observationen oder Beobachtungen und zum Beispiel 67.000
- 04:29fehlende Zellen in dieser Art Tabelle.
- 04:33Wenn wir nun weiter runterscrollen, können wir für jede Variable jeweils einzelne Statistiken bekommen.
- 04:39Zum Beispiel die Aussage, ob ein Film zu einer Filmreihe gehört, zum Beispiel zu der Filmreihe James Bond.
- 04:48Wie hoch ist das Budget beispielsweise?
- 04:50Hier sehen wir, dass bei sehr vielen Filmen beispielsweise, dass der Wert oder das Budget 0 angegeben wird.
- 04:57Auch können wir hier erfahren, sehr übersichtlich, was sind denn die dominanten Genres?
- 05:03Und hier sehen wir, dass es ganz viele Dramen gibt als dominantestes Genre und als zweite Kategorie Comedy.
- 05:13Wir sehen auch, dass ein Hauptteil der Filme oder ein Großteil der Filme eben auf Englisch als Originalsprache verfasst wurde.
- 05:21Als Nächstes kommt dann Französisch und Italienisch.
- 05:28Als weitere interessante Eigenschaft ist zum Beispiel auch die Production Company Metro-Goldwyn-Mayer, Warner Bros.
- 05:42oder Paramount Pictures sind durchaus sehr bekannte Produktionsfirmen.
- 05:46Das letzte interessante Feature, was wir uns anschauen wollen, ist der Durchschnitt der Bewertung.
- 05:55Hier sehen wir, wie viele Bewertung oder wie die Bewertung im Durchschnitt gegeben wurden.
- 06:00Hier können wir uns auch noch einmal im Detail einzelne Statistiken zu dieser genauen Variable angeben lassen.
- 06:08Zum Beispiel, wie ist die Standardabweichung, wie ist der Durchschnitt, der Median, wie skewed ist die Verteilung.
- 06:16Und zudem können wir uns auch einmal das Histogramm anschauen.
- 06:19Das heißt wie ist die Frequenz aller Bewertungen in diesem Datenset.
- 06:27Gerne können Sie auch einmal noch mehr mit dieser mit diesem Report rumspielen.
- 06:31Da gibt es noch einige spannende Dinge zu entdecken.
- 06:36Genau. Wir haben jetzt einmal einen Grobüberblick über alle Features bekommen.
- 06:42Jetzt müssen wir natürlich auswählen, welche wir dafür für unsere Content Based Recommendation heranziehen.
- 06:49Potenziell gäbe es folgende Kandidaten für Features für unsere Content Based Recommendation.
- 06:56Wir werden uns hier allerdings hauptsächlich auf den sogenannten Overview fokussieren.
- 07:01Der Overview würde zu deutsch etwas wie Kurzbeschreibung des Filmes bedeuten.
- 07:06Natürlich könnten wir auch eine content based Recommendation anhand der Schauspieler, der Produktionsfirma, der
- 07:12Originalsprache oder des Genres machen.
- 07:14Das werden wir hier oder in unserem Anwendungsfall allerdings mal außen vor lassen.
- 07:19Die Kurzbeschreibung findet sich in der Spalte Overview.
- 07:23Die werden wir jetzt auch einmal quasi in eine Liste speichern und uns einmal beispielhaft ausgeben, wie das aussehen könnte.
- 07:32Auf Platz 10 und unsere Liste findet sich der Film Golden Eye, ein Film aus der James-Bond-Reihe.
- 07:39Und um die Informationen oder die Kurzbeschreibung dieses Filmes einmal raus oder auszugeben, müssen wir die Liste an
- 07:48Stelle 9 ansprechen.
- 07:49An Stelle 9, denn Listen werden in Python wie auch in vielen anderen Programmiersprachen mit dem Index 0 angefangen.
- 07:58Somit ist der zehnte Platz mit dem Index 9 anzusprechen.
- 08:02Der Filmtitel ist Golden Eye und die Filmbeschreibung, ja, gibt eben einen Kurzüberblick über den Film Golden Eye.
- 08:12Um mal einen groben Überblick über mögliche Themen und häufig vorkommende Wörter in diesem Datensatz zu erhalten,
- 08:19werden wir uns nun eine Wortwolke oder eine Word Cloud ausgeben.
- 08:23die alle Wörter in dieser Kurzbeschreibung einmal enthält, nach Häufigkeit darstellt.
- 08:30Das heißt groß dargestellte Wörter kommen sehr oft vor.
- 08:34Hier sehen wir, dass die Wörter her, off und and sehr oft vorkommen auch weitere Füllwörter wie is, to or that.
- 08:45Das ist nicht wirklich aussagekräftig über den Inhalt.
- 08:48Da das hauptsächlich Füllwörter sind, die sehr oft vorkommen. Und das ist durchaus ein Thema, was wir auch in der
- 08:55Einheit 2.4, Datenvorverarbeitung einmal genauer betrachten werden: Wie kann man beispielsweise Text vorverarbeiten
- 09:03um nur relevante Wörter weiter zu benutzen?
- 09:08Wir werden hier mal einen kurzen Schritt machen und stop words entfernen. Also jene Wörter, die nicht wirklich großartig zur
- 09:17Bedeutung beitragen, also is, that, her, sogenannte Füllwörter.
- 09:23Es kann jetzt nun einige Sekunden dauern, da wir jeweils aus jeder Kurzbeschreibung die Wörter rausnehmen, die eben keine
- 09:32große Bedeutung haben und in einer Stop-Word- Liste für die englische Sprache zu finden sind.
- 09:38Die Hoffnung ist natürlich hier, dass wir dann mehr sinnvolle Wörter vorgeschlagen bekommen, die eben ein bisschen mehr den Inhalt beschreiben.
- 09:48Und das ist durchaus der Fall.
- 09:50Wir finden eher oft die Wort life, young, women, love und family.
- 09:56Das ist durchaus stringent mit der Beobachtung, die wir vorher gemacht haben, dass das Genre Drama, das Genre Comedy sehr oft vorkommt.
- 10:06Also hier haben wir ein kurzes Gefühl oder ein grobes Gefühl dafür bekommen, was Themen durchaus
- 10:11in diesen Filmen ist.
- 10:17Als zweite Recommendation-Art schauen wir uns ja auch die collaborative filtering Methode an.
- 10:22In dieser Art von Empfehlungssystem schauen wir uns lediglich die Nutzerinnen und Nutzer an und deren Bewertungen
- 10:29und wie diese beiden zusammenspielen.
- 10:32Hierfür müssen wir auch natürlich wieder erstmal die Datei einlesen.
- 10:38Das heißt, wir lesen die Ratings CSV auch wieder in einen Data Frame ein.
- 10:44Auch hier wollen wir nun einmal erneut mit dem Befehl Punkt Head die ersten paar Elemente dieses Data Frames ausgeben.
- 10:53Hier sehen wir, dass es deutlich weniger Features gibt.
- 10:56Es gibt lediglich eine User-ID, eine Movie-ID, das Rating als Zahl und einen Timestamp, wann dieses Rating eben gegeben wurde.
- 11:07Wollen wir nun erfahren, wie viele Nutzerinnen und Nutzer es gibt und wie viele Filme eigentlich bewertet wurden, so können wir
- 11:13das wie folgt machen: Wir schauen uns einmal die Anzahl unique Values an, also die Anzahl der einzigartigen Werte.
- 11:21Number of unique values, daher auch der Methodenname.
- 11:24Hier bekommen wir heraus, dass es 45.000 einzelne Filme gibt und circa 270.000 unique Nutzer.
- 11:36Da es auf jeder Bewertungsplattform anders gehandhabt wird, welche Möglichkeiten zur Bewertung bestehen,
- 11:42ob man halbe Sterne geben kann, wie groß die Bewertungs oder des Bewertungsspektrum ist,
- 11:47schauen wir uns das auch einmal genauer an.
- 11:52Wir sehen hier, dass auf dieser Bewertungsplattform oder der Datensatz erlaubt, dass wir Bewertungen von 0,5
- 12:00in 0,5er Schritten bis 5,0 erlauben.
- 12:06Genau, schauen wir uns nun auch einmal das Histogramm an, welches uns darstellt, wie häufig einzelne
- 12:13Bewertungen gegeben wurden in diesem Datensatz.
- 12:17Hier sehen wir, dass die Bewertung 0,5 beispielsweise sehr selten gegeben wurde, wohingegen die Bewertung 4
- 12:26und 5,0 oder 3 auch deutlich häufiger geben wurden.
- 12:32Das war auch zunächst schon einmal der erste Blick in die Daten.
- 12:36Wir hoffen, dass das zumindest ein grobes Gefühl für die Daten und die Datenbeschaffenheit gegeben hat.
- 12:42Und in der nächsten Einheit werden wir uns dem Zusatzthema der Datenvorverarbeitung widmen, um dann in der nächsten
- 12:50Einheit bereits die recommendation Systems und die recommender Systems
- 12:55für Filme rinmal hineinzustarten, viel Spaß.
To enable the transcript, please select a language in the video player settings menu.
Über dieses Video
- Auf GitHub haben wir alle Materialien für die praktischen Einheiten zusammengefasst und für Sie aufbereitet.
- Erratum: ab ca. 09:08 min sollte es "Worte" statt Woche heißen