Stefan Preusler


Ich teile gerne meine Wissen und gebe es weiter. Daher schreibe ich regelmäßig über meine Erfahrungen und biete Anleitungen in meinen Artikeln auf Medium:


28. September 2020

Kaggle Competition: Erfahrungen aus meinem ersten Wettbewerb

Kaggle ist eine Data Science Community, die neben Datensätzen und kostenlosen Python Kernels auch Wettbewerbe anbietet. Bei einigen Competitions werden von Unternehmen auch Geldpreise für die Bestplatziertesten ausgelobt! Dieser Artikel basiert auf meinen Erfahrungen aus dem NLP Wettbewerb “Real or Not? NLP with Disaster Tweets”, bei dem ich aktuell in den Top liege. Tipps und entwickelte Lösungen lassen sich aber auch auf andere Machine Learning Anwendungsfälle übertragen.

13. August 2020

Hautkrebs mittels Künstlicher Intelligenz erkennen

Im Mai 2019 wurde das Paper “Deep learning outperformed 136 of 157 dermatologists in a head-to-head dermoscopic melanoma image classification task” im “European Journal of Cancer” veröffentlicht. In dieser Studie wurde das vortrainierte CNN Modell ResNet50 zur Bilderkennung von Hautkrebs verwendet und verfeinert. In diesem Artikel werden zunsächst zusätzlich verschiedene Einflussfaktoren für das Modell erläutert. Im Anschluss wird ein einfacher aber dennoch effektiver Nachbau in nur 6 Zeilen Code beschrieben.

08. April 2020

Fünf Vorteile von Competitive Programming und Anleitung

Competitive Programming (CP) Plattformen wie Codeforces, Hackerrank und Leetcode erfreuen sich großer Beliebtheit. Das ist nicht verwunderlich: Sie bieten für Entwickler interessante Herausforderungen und ermöglichen die Lösungsansätze von anderern Programmierern untereinander zu vergleichen. Ein tolle Idee um sich weiterzuentwickeln. Eine Anleitung für Codeforces und fünf Vorteile werden in diesem Artikel näher erläutert.

01. April 2020

Fünf Stufen des Autonomen Fahrens und warum Tesla den Wettlauf gewinnen wird

Autonomes Fahren ist derzeit eines der spannendsten Anwendungsfälle für Künstliche Intelligenz. Diese hohe Dynamik spiegelt sich in immer mehr Startups und neuen Modellierungstechniken wieder. In diesem Artikel werden die fünf Levelstufen für das Autonome Fahren von der “Society of Automotive Engineers” (SAE) beschrieben. Im zweiten Teil des Artikels werde ich erläutern, warum gerade Tesla diese Stufen am Schnellsten erklimmen wird.

24. März 2020

Overfitting und Underfitting auf Deutsch mit Python erklärt

Overfitting und Underfitting sind zwei Phänomene, die beim Maschinellen Lernen auftreten. Wir versuchen bei mathematisch-statistischen Verfahren aus bereits aufgetretenen Beobachtungen ein Modell zu generieren, dass die Realität möglichst gut beschreibt. Diese Modell soll dann im Anschluss analysierbar sein oder Vorhersagen in der Zukunft treffen. Dabei kann sich ein Modell sowohl zu sehr an den bisherigen Daten orientieren (Overfitting) oder zu wenige Zusammenhänge wiedergeben (Underfitting). In diesem Artikel werden diese zwei Konzepte anhand eines Python Beispiels näher erläutert und Lösungsansätze aus der Praxis gegeben.

20. März 2020

Pandas CSV Import von Github und Web

Der Onlinedienst Github bietet viele öffentlich zugängliche Datensätze im CSV Format. Wie ist es möglich, ohne vorherigen Download auf den lokalen Rechner auf die Daten zuzugreifen? In diesem Artikel erläutere ich eine einfache Lösung mit der Python Bibliothek Pandas und nachfolgender Speicherung in einem Dataframe. “Herkömmliche” CSV Quellen aus dem Internet sind auch mit dieser Methode zugänglich.

13. März 2020

Pyspark und Jupyter Notebook Anleitung für Windows

Apache Spark ist ein beliebtes Big Data Framework für die Analyse von Daten. In diesem Artikel beschreibe ich die Installation von Spark, Pyspark und das Aufsetzen eines Jupyter Notebooks bei einem Windows System. Einen Beitrag über die Theorie und Grundlagen von Apache Spark habe ich bereits letztes Jahr verfasst.

6. März 2020

Der Befehl “javac” ist entweder falsch geschrieben oder konnte nicht gefunden werden

Java ist eine “höhere” Programmiersprache: Sie ist deutlich von der Maschinensprache entfernt. Die Befehle in Java sind nicht direkt für die Prozessoren verständlich. Als Zwischenschritt muss der Java Quellcode daher zuerst mithilfe eines Compilers in Java Bytecode umgewandelt werden. Im folgenden Artikel wird eine beliebte Fehlermeldung des Compilers erläutert und eine einfache Lösungsmöglichkeit gegeben.

14. Februar 2020

Wochentag und Kalenderwoche in Python

Ein wichtiges Merkmal in betrieblichen Daten kann der Wochentag oder die Kalenderwoche sein: In der Zeitreihenanalyse könnte beispielsweise Saisonalität im Winter bzw. Sommer in den Kalenderwochen besser sichtbar werden. Oder aber je nach Wochentag schwankt der Absatz im Einzelhandel. Im folgenden Artikel beschreibe ich eine einfache Implementierung in Python, um von einem Datum die Kalenderwoche und den Wochentag abzuleiten.

4. Februar 2020

Selenium Firefox in Python auf einem Ubuntu Server

Selenium ist das ideale Werkzeug um automatisierte Webseiten Tests durchzuführen. Alternativ ist es auch als Scraping Tool sehr beliebt. Das Framework simuliert eine normale Browser Session und ermöglicht auf diese Weise automatisiert mit einer Webseite zu interagieren. Dadurch ist auch Javascript zum Auslesen der Seite kein Hindernis mehr! In diesem Artikel erläutere ich die Installation von Selenium mit Geckodriver (Firefox) in Python auf einem Linux Server.

20. Januar 2020

Substring ersetzen in Postgres SQL

Eine typische Herausforderung bei Texten, die in einer Datenbank gespeichert werden, ist die falsche Codierung und damit einhergehende Erzeugung von Hieroglyphen (z. B. �). Dieser Artikel zeigt anhand eines UPDATE und eines SELECT Befehls, wie man dieses Problem in Postgres SQL löst.

10. August 2019

Webcam Gesichtserkennung mit OpenCV

Maschinelles “Sehen” ist eng verknüpft mit Maschinellem Lernen: Anhand existierender, gelabelter Daten (in diesem Fall Bildern) werden Modelle trainiert, die zu einem gegebenen Input ein Output liefern. Im Fall von Gesichtserkennung wird auf einem Bild ein Ausschnitt als Gesicht erkannt und klassifiziert. In diesem Artikel wird der Quellcode für ein einfaches Python Projekt mit der Bibliothek OpenCV (Computer Vision) erläutert.

9. August 2019

Virtualenv Nutzung unter Windows

Virtuelle Entwicklungsumgebungen dienen dazu Bibliotheken und Abhängigkeiten bei verschiedenen Projekten zu trennen. Virtualenv ist hierfür ein beliebtes Werkzeug bei Python. In drei einfachen Schritten erklärt dieser Artikel die Installation und Nutzung von Virtualenv bei Windows.

17. Juli 2019

Ubuntu Server: NGINX Installation mit kostenlosem SSL Zertifikat

NGINX ist eine beliebte Webserver Software und insbesondere bei hohen Besucherzahlen eine interessante Alternative zu Apache. In dieser Anleitung erläutere ich die Installation auf einem Ubuntu Server inklusive der kostenfreien(!) Erstellung eines SSL Zertifikats.

7. Juli 2019

Twitter API und Postgres Implementierung mittels AWS RDS und EC2

Die öffentliche Twitter API bietet vielfältige Möglichkeiten zum Text Mining. In diesem Artikel wird mittels Python die API von einem EC2 Server aus angesprochen und die erhaltenen Datensätze automatisch auf einer RDS Instanz gespeichert.

19. Juni 2019

PySpark und Jupyter Notebook Installation via Docker

Die Installation von Spark und direkte Anwendung über ein Notebook kann sehr aufwendig sein: In der Entwicklungsumgebung muss Java installiert werden, Systemumgebungsvariablen sind zwingend korrekt zu setzen und die Anbindung von Spark an Jupyter Notebook sorgfältig erfolgen.

13. Juni 2019

Was ist Spark?

Spark ist ein Open-Source Framework der Apache Foundation, das für die Analyse von großen Datenmengen verwendet wird. Es arbeitet mit verteilten Knoten (Clustern) und kann dadurch Jobs parallel durchführen.

6. Juni 2019

Machine Learning — Definition und Beispiel

Machine Learning ist ein IT Trendthema. Doch wie wird Machine Learning definiert? Welche Anwendungsfälle verbergen sich hinter diesem Begriff? Was unterscheidet Machine Learning von klassischer Programmierung?

18. Mai 2019

Flask API und Machine Learning Modell

Das Ausliefern von Modellen (engl. Deployment) ist ein wichtiger Bestandteil von Machine-Learning bzw. Data-Mining Prozessen. Die operative Integration ist essentiell für den Erfolg eines Data Scientists. Schließlich sollte das Modell nicht nur lokal auf dem Rechner des Entwicklers existieren.

14. Mai 2019

Flask und Docker Deployment unter Windows

Flask ist ein einfaches Python Web Framework. Es benötigt keine weiteren Bibliotheken. Große Unternehmen wie LinkedIn und Pinterest setzen es mittlerweile ein. Im Rahmen des Machine Learning kann Flask ideal für das Deployment verwendet werden.

29. April 2019

Wordpress AWS Installation — Schritt für Schritt

Wordpress ist als Content-Management-System sehr beliebt. Viele Anwender nutzen für das Aufsetzen einer Instanz klassische Webhosting Anbieter. Eine Alternative hierzu stellt Amazon Web Services dar. Dabei kann Wordpress auf einem virtuellen Server (kostenlos) installiert werden. Dadurch wird die Skalierbarkeit erleichtert und die Geschwindigkeit der Amazon Cloud genutzt. Der folgende Artikel beschreibt in fünf Schritten den Weg zu einer Wordpress Installation mit Anbindung an eine externe Domain.