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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.