Machine Learning mit Python – So gelingt Ihnen der Einstieg

Lesedauer: 1 Min.

3 hilfreiche
Data Science Tools

Als Digitalagentur lieben wir natürlich Javascript und Typescript. Nur wenn es um das Thema „Machine Learning“ geht, setzen wir ganz auf Python. Der Grund dafür ist einfach: kaum eine andere Programmiersprache bietet so mächtige und populäre Libraries für Machine Learning. Wir zeigen Ihnen, welche Tools Sie Sich auf jeden Fall anschauen sollten.

1. SciKit Learn

Wenn es um Supervised Learning im Small-Data Bereich geht, steht SciKit Learn ganz weit oben auf der Liste. Das Toolkit umfasst nahezu alle klassischen Algorithmen für Supervised Learning und stellt sie in einer intuitiven API zur Verfügung. Anfänger können schnell erste Erfolge erzielen und bei Fragen auf eine ausgezeichnete Dokumentation zurückgreifen. Auch ist die Wahrscheinlichkeit hoch, die Antwort auf eine Frage bereits auf Stackoverflow zu finden, dank des hohen Verbreitungsgrades der Library.

Nicht zu vergessen sind auch die nützlichen Helfer, die SciKit Learn mitbringt und damit sowohl das Vorbereiten der Daten als auch das Evaluieren des erstellten Modells vereinfacht. Selbst wenn Sie ein Classification Model mit einem Gradient Boosting Algorithmus wie LightBoost erstellst, kann der ROC-AUC Score von SciKit Learn verwendet werden, um eine verlässliche Aussage über die Qualität der gewonnenen Ergebnisse zu liefern. Egal wo Sie Ihre Reise mit Machine Learning später einmal hinführen wird: mit SciKit Learn wird der Einstieg in Ihr neues Aufgabengebiet fast schon zum Kinderspiel!

2. Pandas

Pandas ist eine mächtige Library zur Manipulation von Daten in tabellarischem Format. Wenn Sie aus der Javascript Welt kommen und dort schon mal umfangreichere Transformationen an Arrays vornehmen mussten, werden Sie es sehr zu schätzen wissen, wie elegant dieselben Aufgaben mit Pandas gelingen – und zwar in der Regel ganz ohne Loops! Die meisten Machine Learning Tools in der Python Welt bieten Support für Pandas Dataframes und auch im Zuge des Preprocessings und Feature Engineerings muss vielfach auf die Fähigkeiten von Pandas zurückgegriffen werden. Aus diesem Grund empfehlen wir Ihnen wirklich eine gründliche Beschäftigung mit Pandas. Nur wenn Sie die Ins- and Outs- von dieser Library so gut kennen wie Ihre Westentasche, können Sie den zahlreichen Machine Learning Tutorials im Internet problemlos folgen und bei eigenen Projekten in annehmbarer Geschwindigkeit zum Ergebnis kommen. Sie sparen Sich viel Frust und Rätselraten, wenn Sie Sich Zeit nehmen und Sich in Pandas einarbeiten!

Codeausschnitt mit Tabelle

Eines der nützlichsten, aber für Neulinge auch verwirrendsten Features ist das Auswählen von Teilbereichen der Tabelle über definierte Bedingungen. Haben wir es beispielsweise mit einer Liste von Personen und ihren Daten wie Name, Alter und Augenfarbe zu tun, können wir in nur einer Zeile leicht definieren, dass wir nur die ersten drei Einträge der Tabelle haben wollen, oder nur die Augenfarbe von allen Personen, oder nur alle Personen, die jünger sind als 30 Jahre. Dies gelingt Ihnen durch das Benutzen von “loc”, “iloc” und das direkte Übergeben einer Bedingung in eckigen Klammern. Je nachdem, welchen Background Sie in der Software Entwicklung haben, kann der Syntax erstmal sehr gewöhnungsbedürftig sein. Es lohnt sich aber definitiv sich damit zu befassen, denn es ist eine der Aufgaben, die Sie im Small-Data Bereich mit Python häufig erledigen müssen.

3. Seaborn

Eine Erweiterung der populären Plotting Software “Matplotlib” ist eine nützliche Library namens “Seaborn”. Sie beherrscht noch mehr Plot Typen und bietet eine vereinfachte Handhabung. Außerdem sind die erstellten Grafiken ein echter Hingucker – ideal also, um Ihnen einen visuellen Überblick über Ihre Daten zu verschaffen und in Präsentationen eine gute Figur zu machen.

Graphische Darstellung eines Diagramms

Das Repertoire von Seaborn geht über die bekannten Standardplots hinaus und beinhaltet unter anderem fortgeschrittene Techniken wie den “Violinplot”. Dieser eignet sich hervorragend dazu, um die Verteilung der Daten im Hinblick auf eine bestimmte Variable für mehrere Kategorien gleichzeitig darzustellen. Viel Information auf einmal, zugegeben – aber wenn Sie einmal wissen, wie Sie den Violinplot interpretieren können, dann liefert er Ihnen auf einen Schlag eine Menge Informationen über die Daten, mit denen Sie arbeiten. Bei Data Science ist der Schlüssel zum Erfolg in aller Regel die zugrundeliegenden Daten sehr tiefgehend zu verstehen. Unerlässlich dafür ist die Fähigkeit, schnell den richtigen Plot im Kopf zu haben und ohne großes Nachdenken erstellen zu können. Natürlich werden Sie am Anfang oft die Dokumentation konsultieren müssen, um Befehle nachzuschlagen, aber mit etwas Übung werden Sie immer besser werden und die Plots einfach aus dem Gedächtnis erstellen können. Wenn Sie einmal auf diesem Level sind, wird die Arbeit erst richtig Spaß machen und effizient vor sich gehen. Deshalb raten wir Ihnen dringend ab von mechanischem Copy & Paste. Nehmen Sie Sich Zeit und lernen Sie die Möglichkeiten von Seaborn kennen – Sie werden definitiv davon profitieren!

Was kommt nach den Basics?

Die vorgestellten Libraries bieten Ihnen einen sehr guten Einstieg in die Welt von Machine Learning in Python. Wenn Sie allerdings über die Basics hinausgehen wollen, werden Sie irgendwann mit ihnen an Ihre Grenzen stoßen. Pandas ist sehr nützlich im Umgang mit tabellarischen Daten, aber wenn diese eine bestimmte Größe überschreiten, dann benötigen Sie ein Werkzeug wie Apache Spark, das in der Lage ist, die Arbeit auf mehrere Rechner zu verteilen. Auch kann es sein, dass Sie beim Trainieren von komplexen Modellen an die Grenzen Ihres Rechners stoßen. Speziell für diese Aufgaben optimierte Services in der Cloud wie Amazon Sagemaker oder GCP Machine Learning Engine (MLE) können Ihnen helfen, die harte Arbeit auf speziell für diese Zwecke optimierte Maschinen auszulagern und damit das Maximum aus Ihren Daten rauszuholen. Der Workflow aus dem Bereitstellen der Daten, dem Trainieren Ihres Modells und dem Deployment in ein Production Environment ist komplex und bedarf einiges an Wissen über verschiedene Cloud Services.

Wir werden Ihnen bald in einem neuen Blogbeitrag einen Überblick über die verfügbaren Möglichkeiten verschaffen und Ihnen helfen, auch diesen Schritt zu gehen. Bis dahin wünschen wir Ihnen viel Erfolg mit Ihren ersten Experimenten in der Welt des maschinellen Lernens mit Python!