 Herzlich Willkommen zum vierten Coding Video in der Vorlesung Data Science. In diesem Coding Video befassen wir uns mit der Dimensionsreduktion und der Principle Component Analysis und wir beginnen wie immer einige uns bekannte Pakete hier einzubinden, Matplotlib, Pandas namn PiC-Born. Wir bedienen uns erneut des Prustkrebs-Datensatzes von SK Learn. Wir haben hier eine Scaling-Funktion, die zur Normalisierung genommen wird. Zu der Comic später noch, wir haben unser Principle Component Analysis-Modell und ich habe hier noch, damit die Tabellen haltwegs hübsch aussehen, noch das Package Tabulate genommen. Das erlaubt es uns Tabellen und Data Frames hübscher darzustellen, wie das, was die Python-Konsole uns generell ausgibt. Das Vorgehen hier ist simultan oder identisch mit dem vorher, wir laden uns den Datensatz. Wir schauen uns diesen Datensatz an, die Beschreibung des Datensatzes. Wir speichern uns die Daten in ein Pandas Data Frame, benennen die Spalten nach den Features, das heißt nach den variablen Namen und dann schauen wir uns ja einfach mal den Kopf des Datensatzes an. Ich habe das hier mit der Tabulate Funktion gemacht, damit das ein bisschen hübscher aussieht und dann gucken wir uns noch die Target-Klassifikationen an, die wir hier treffen möchten. Und wir haben jetzt das Problem, wir können hier keine 30 plus Dimensionen auf einmal darstellen. Das ist ein bisschen zu viel, deswegen führen wir zuerst einmal eine Principle Component Analyse durch, um die Dimensionalität zu reduzieren und wichtige Komponenten zu finden. Und ich werde hier eine Neuerung einführen und zwar normalisieren wir die Daten zunächst einmal, da die Daten an sich ja manikfaltig sind und auch in ihren absoluten Werten durchaus voneinander abweichen können. Daher bedient man sich so genannten Standard Scalar Modellen. Es gibt verschiedene Skalierungsfunktionen. Wir nehmen hier den Standard Scalar von SK Learn und auf diesen Scalar fitten wir hier die Daten. Das bedeutet, dass wir einfach nur die Daten normalisieren und dann transformieren wir hier diesen Data Frame mit dem Scalar. Das heißt wir bekommen einen Datensatz, der normalisiert wurde, bevor wir diesen dem Modell übergeben, was wir hier unten machen ist, wie initiieren das PCA Model. Wir fitten dieses Modell, diese Principle Component Analysis auf die skalierten Daten, die wir hier oben erzeugt haben und dann transformieren wir diese Daten wieder zurück und dann lassen wir uns das einfach mal ausgeben. Wir schauen uns das an. Was machen wir als nächstes? Wir machen uns ein hübsches Bildchen und schauen uns das Ganze erst einmal an und danach machen wir folgendes. Wir lassen uns diese Komponenten in ein Data Frame speichern, da sind wir hier unten und lassen uns die Feature Name dazu geben und gucken uns das Ganze in eine Heatmap an. Dann können wir nämlich feststellen, okay, haben unsere Komponenten denn eine Korrelation mit dem Rest des Ganzen und ich hätte gesagt, wir führen das jetzt hier einfach einmal aus oder bevor wir es ausführen Pakete einbinden Datenladen, Daten ansehen, Daten normalisieren, Modell initiieren, Modell trainieren, Ergebnisse ansehen und genau das tun wir jetzt auch. So, hier kam schon wieder relativ viel auf einmal. Ich schließe das Bild zunächst einmal und vergrößere hier einfach mal die Konsole. Wir sehen hier oben erneut die Beschreibung des Datensatzes, das habe ich ja schon im vorherigen Video erläutert, hier sehen Sie die Anzahl der Instanzen, wie viele Attribute hier vorhanden sind, die Beschreibungen der Variablen, einige deskriptive Maße, noch mehr Beschreibungen für was der Datensatz vorhanden ist und weiterführende Paper und weiterführende Referenzen. Und nun sehen wir hier, es ist immer noch sehr unübersichtlich, weil eben dieser Data Frame sehr umfassend ist und sehr, sehr, sehr groß. Wir sehen hier, was das Tabulate tut. Es versucht zumindest das ein bisschen in eine Ordnung zu packen. Hier sehen wir unseren Data Frame, mit dem wir arbeiten werden. Und hier unten sehen wir die ganzen Label, die wir versuchen herzustellen und ich habe hier das Ganze schon einmal grafisch aufbereitet, die erste gegen die zweite Komponente und dann sehen wir das Ganze auch, das schließen wir jetzt wieder und dann sehen wir hier am Ende unsere Komponents, unsere erste Komponente und unsere zweite Komponente. Ich mache das einfach mal etwas größer und ich werde das Ganze auch mal ein bisschen hübschen, dass wir das, dass wir hier auch was erkennen können. Das heißt, wir haben hier unsere erste Principle Component. Hier ist die zweite Principle Component und wir sehen hier anhand einer Heatmap, anhand einer Korrelationsstruktur, auf welche Feature Variablen wir diese Komponenten wie korreliert sind und da können wir in einem Bild sehen, ob und wie die Komponenten mit unseren Originaldaten in Verbindung stehen. Und das können wir machen, um Dimensionen zu reduzieren. Wir haben hier nur noch zwei Variablen, mit denen wir arbeiten müssen und keine 30 mehr und das ist schon einiges wert und das ist das, was wir unter Dimensionsreduktion verstehen, dass wir hier zwei Variablen erzeugen und wir sehen können, welchen Einfluss haben denn meine zwei Hauptkomponenten mit dem restlichen Datensatz und was wir hier unten noch sehen können, ist die Komponentenmatrix, wie wir sie hier sehen können und das soll es zur Principle Component Analyse eigentlich auch gewesen sein. Was haben wir jetzt gelernt? Ich fasse es nochmal zusammen. Sie können extrem hoch dimensionierte Datensätze runter reduzieren, dimensionstechnisch reduzieren und sie können diese Komponenten, die sie hier herausziehen, nehmen, um Korrelationsstrukturen, die vorher vor Borgeln waren, aus ihren Daten heraus zu ziehen. Ich sehe sie im nächsten Video. Bis dahin, alles Gute.