Zurück zu allen Blogbeiträgen

Wie man eine Machine Learning API mit Python und Flask erstellt

  • Machine Learning
  • Python
  • Tutorial
29. Juli 2020
·

Team statworx

Wolltest du schon einmal dein Machine-Learning-Modell anderen Menschen zur Verfügung stellen, wusstest aber nicht wie? Oder hast du vielleicht einfach nur von dem Begriff API gehört und willst wissen, was dahintersteckt? Dann ist dieser Beitrag genau das Richtige für dich!

Hier bei statworx nutzen und schreiben wir täglich APIs. Für diesen Artikel habe ich aufgeschrieben, wie du deine eigene API für ein von dir erstelltes Machine-Learning-Modell bauen kannst – und was einige der wichtigsten Konzepte wie REST bedeuten. Nach dem Lesen dieses kurzen Artikels wirst du wissen, wie man innerhalb eines Python-Programms Anfragen an deine API stellt. Viel Spaß beim Lesen und Lernen!

Was ist eine API?

API steht für Application Programming Interface (Programmierschnittstelle). Sie erlaubt es Nutzer*innen, mit der zugrunde liegenden Funktionalität eines Codes über eine Schnittstelle zu interagieren. Es gibt eine Vielzahl von APIs, und die Chancen stehen gut, dass du schon einmal von der Art API gehört hast, um die es in diesem Blogpost geht: die Web-API.

Dieser spezielle Typ von API erlaubt es Nutzerinnen, über das Internet mit Funktionalitäten zu interagieren. In unserem Beispiel bauen wir eine API, die Vorhersagen über unser trainiertes Machine-Learning-Modell bereitstellt. In einer realen Anwendung könnte diese API in eine Art Anwendung eingebettet sein, in der eine Nutzer*in neue Daten eingibt und im Gegenzug eine Vorhersage erhält. APIs sind sehr flexibel und leicht zu warten, was sie zu einem praktischen Werkzeug im Alltag von Data Scientists oder Data Engineers macht.

Ein Beispiel für eine öffentlich verfügbare Machine-Learning-API ist Time Door. Sie stellt Tools für Zeitreihenanalysen bereit, die du in deine Anwendungen integrieren kannst. APIs können außerdem dazu verwendet werden, Daten allgemein bereitzustellen – nicht nur Machine-Learning-Modelle.

API Illustration

Und was ist REST?

Representational State Transfer (oder REST) ist ein Ansatz, der eine bestimmte Art der Kommunikation über Webdienste beschreibt. Wenn man einige der REST-Best Practices verwendet, um eine API zu implementieren, spricht man von einer „REST API“. Es gibt auch andere Ansätze zur Web-Kommunikation (wie das Simple Object Access Protocol: SOAP), aber REST benötigt im Allgemeinen weniger Bandbreite, was es vorzugswürdig macht, um Machine-Learning-Modelle bereitzustellen.

In einer REST API sind die vier wichtigsten Arten von Anfragen:

  • GET
  • PUT
  • POST
  • DELETE

Für unsere kleine Machine-Learning-Anwendung konzentrieren wir uns hauptsächlich auf die POST-Methode, da sie sehr vielseitig ist und viele Clients keine GET-Methoden senden können.

Es ist wichtig zu erwähnen, dass APIs zustandslos (stateless) sind. Das bedeutet, dass sie die Eingaben, die du während eines API-Aufrufs gibst, nicht speichern – sie speichern also keinen Zustand. Das ist bedeutsam, weil es ermöglicht, dass mehrere Nutzer*innen und Anwendungen die API gleichzeitig nutzen können, ohne dass sich ihre Anfragen gegenseitig beeinflussen.

Das Modell

Für diesen How-To-Artikel habe ich mich entschieden, ein Machine-Learning-Modell bereitzustellen, das auf dem berühmten Iris-Datensatz trainiert wurde. Wenn du den Datensatz nicht kennst, kannst du ihn dir hier anschauen. Beim Erstellen von Vorhersagen haben wir vier Eingabeparameter: Kelchblattlänge (sepal length), Kelchblattbreite (sepal width), Blütenblattlänge (petal length) und schließlich Blütenblattbreite (petal width). Diese helfen dabei zu entscheiden, um welchen Typ der Irisblume es sich handelt.

Für dieses Beispiel habe ich die scikit-learn-Implementierung eines einfachen KNN-Algorithmus (K-nearest neighbor) verwendet, um den Typ der Iris vorherzusagen:

# model.py
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
from sklearn.externals import joblib
import numpy as np


def train(X,y):

    # train test split
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

    knn = KNeighborsClassifier(n_neighbors=1)

    # fit the model
    knn.fit(X_train, y_train)
    preds = knn.predict(X_test)
    acc = accuracy_score(y_test, preds)
    print(f'Successfully trained model with an accuracy of {acc:.2f}')

    return knn

if __name__ == '__main__':

    iris_data = datasets.load_iris()
    X = iris_data['data']
    y = iris_data['target']

    labels = {0 : 'iris-setosa',
              1 : 'iris-versicolor',
              2 : 'iris-virginica'}

    # rename integer labels to actual flower names
    y = np.vectorize(labels.__getitem__)(y)

    mdl = train(X,y)

    # serialize model
    joblib.dump(mdl, 'iris.mdl')

Wie du sehen kannst, habe ich das Modell mit 70 % der Daten trainiert und anschließend mit 30 % Out-of-Sample-Testdaten validiert. Nachdem das Modelltraining abgeschlossen ist, serialisiere ich das Modell mit der Bibliothek joblib. Joblib ist im Grunde eine Alternative zu pickle, die die Persistenz von scikit-Estimatoren erhält, welche eine große Anzahl von Numpy-Arrays enthalten (wie z. B. das KNN-Modell, das alle Trainingsdaten beinhaltet). Nachdem die Datei als Joblib-Datei gespeichert wurde (die Dateiendung spielt dabei übrigens keine Rolle, also nicht verwirren lassen, wenn manche sie .model oder .joblib nennen), kann sie später in unserer Anwendung wieder geladen werden.

Die API mit Python und Flask

Um aus unserem trainierten Modell eine API zu bauen, verwenden wir das beliebte Webentwicklungs-Framework Flask sowie Flask-RESTful. Außerdem importieren wir joblib zum Laden unseres Modells und numpy zur Verarbeitung der Eingabe- und Ausgabedaten.

In einem neuen Skript, nämlich app.py, können wir nun eine Instanz einer Flask-App und einer API einrichten und das trainierte Modell laden (dies setzt voraus, dass das Modell im selben Verzeichnis wie das Skript gespeichert ist):

from flask import Flask
from flask_restful import Api, Resource, reqparse
from sklearn.externals import joblib
import numpy as np

APP = Flask(__name__)
API = Api(APP)

IRIS_MODEL = joblib.load('iris.mdl')

Der zweite Schritt besteht nun darin, eine Klasse zu erstellen, die für unsere Vorhersage verantwortlich ist. Diese Klasse wird eine Kindklasse der Flask-RESTful-Klasse Resource sein. Dadurch erbt unsere Klasse die entsprechenden Klassenmethoden und ermöglicht es Flask, die Arbeit hinter deiner API zu übernehmen, ohne dass alles selbst implementiert werden muss.

In dieser Klasse können wir auch die Methoden (REST-Anfragen) definieren, über die wir zuvor gesprochen haben. Jetzt implementieren wir also eine Klasse Predict mit einer .post()-Methode, wie wir sie vorher erwähnt haben.

Die post-Methode erlaubt es dem Nutzer, zusammen mit den Standardparametern der API auch einen Body zu senden. In der Regel möchten wir, dass dieser Body im JSON-Format vorliegt. Da dieser Body nicht direkt über die URL übermittelt wird, sondern als Text, müssen wir diesen Text parsen und die Argumente auslesen. Das flask_restful-Paket stellt dafür die Klasse RequestParser zur Verfügung. Wir fügen einfach alle Argumente, die wir im JSON-Eingang erwarten, mit der Methode .add_argument() hinzu und parsen sie anschließend in ein Dictionary. Dieses konvertieren wir dann in ein Array und geben die Vorhersage unseres Modells als JSON zurück.

class Predict(Resource):

    @staticmethod
    def post():
        parser = reqparse.RequestParser()
        parser.add_argument('petal_length')
        parser.add_argument('petal_width')
        parser.add_argument('sepal_length')
        parser.add_argument('sepal_width')

        args = parser.parse_args()  # creates dict

        X_new = np.fromiter(args.values(), dtype=float)  # convert input to array

        out = {'Prediction': IRIS_MODEL.predict([X_new])[0]}

        return out, 200

Du fragst dich vielleicht, was es mit der 200 auf sich hat, die wir am Ende zurückgeben: Bei APIs werden beim Senden von Anfragen einige HTTP-Statuscodes angezeigt. Ihr kennt sicher alle den berühmten 404-Code – Seite nicht gefunden. 200 bedeutet einfach, dass die Anfrage erfolgreich empfangen wurde. Man signalisiert dem Benutzer damit, dass alles wie geplant funktioniert hat.

Am Ende musst du nur noch die Klasse Predict als Ressource zur API hinzufügen und die Hauptfunktion schreiben:

API.add_resource(Predict, '/predict')

if __name__ == '__main__':
    APP.run(debug=True, port='1080')

Das '/predict', das du im Aufruf von .add_resource() siehst, ist der sogenannte API-Endpunkt. Über diesen Endpunkt können Nutzer deiner API darauf zugreifen und (in diesem Fall) POST-Anfragen senden. Wenn du keinen Port definierst, wird standardmäßig Port 5000 verwendet.

Hier siehst du den gesamten Code der App noch einmal:

# app.py
from flask import Flask
from flask_restful import Api, Resource, reqparse
from sklearn.externals import joblib
import numpy as np

APP = Flask(__name__)
API = Api(APP)

IRIS_MODEL = joblib.load('iris.mdl')


class Predict(Resource):

    @staticmethod
    def post():
        parser = reqparse.RequestParser()
        parser.add_argument('petal_length')
        parser.add_argument('petal_width')
        parser.add_argument('sepal_length')
        parser.add_argument('sepal_width')

        args = parser.parse_args()  # creates dict

        X_new = np.fromiter(args.values(), dtype=float)  # convert input to array

        out = {'Prediction': IRIS_MODEL.predict([X_new])[0]}

        return out, 200


API.add_resource(Predict, '/predict')

if __name__ == '__main__':
    APP.run(debug=True, port='1080')

API starten

Jetzt ist es an der Zeit, unsere API auszuführen und zu testen!

Um die App zu starten, öffne einfach ein Terminal im gleichen Verzeichnis wie dein app.py-Skript und führe folgenden Befehl aus:

python run app.py

Du solltest jetzt eine Benachrichtigung erhalten, dass die API auf deinem Localhost unter dem von dir definierten Port läuft. Es gibt verschiedene Möglichkeiten, auf die API zuzugreifen, sobald sie läuft. Zum Debuggen und Testen verwende ich normalerweise Tools wie Postman. Wir können aber auch aus einer Python-Anwendung auf die API zugreifen – so wie es auch ein anderer Nutzer tun würde, um dein Modell in seinem Code zu verwenden.

Wir nutzen dafür das requests-Modul, indem wir zuerst die URL definieren, auf die zugegriffen werden soll, und den Body, der mit unserer HTTP-Anfrage gesendet wird.

import requests

url = 'http://127.0.0.1:1080/predict'  # localhost and the defined port + endpoint
body = {
    "petal_length": 2,
    "sepal_length": 2,
    "petal_width": 0.5,
    "sepal_width": 3
}
response = requests.post(url, data=body)
response.json()

Die Ausgabe sollte in etwa so aussehen:

Out[1]: {'Prediction': 'iris-versicolor'}

So einfach ist es, einen API-Aufruf in deinen Python-Code zu integrieren! Bitte beachte, dass diese API nur auf deinem lokalen Rechner läuft. Du müsstest die API auf einem Live-Server (z. B. bei AWS) bereitstellen, damit andere darauf zugreifen können.

Fazit

In diesem Blogartikel hast du einen kurzen Überblick darüber bekommen, wie man eine REST-API erstellt, um ein Machine-Learning-Modell über eine Webschnittstelle bereitzustellen. Außerdem weißt du jetzt, wie man einfache API-Anfragen in Python-Code integriert. Vielleicht möchtest du als nächsten Schritt deine APIs absichern? Falls du interessiert bist zu lernen, wie man eine API mit R erstellt, solltest du dir diesen Beitrag anschauen. Ich hoffe, dieser Artikel hat dir einen soliden Einstieg in das Thema gegeben – und dass du bald deine eigenen APIs entwickelst. Viel Spaß beim Coden!

Linkedin Logo
Marcel Plaschke
Head of Strategy, Sales & Marketing
Beratung vereinbaren
Zugehörige Leistungen
No items found.

Weitere Blogartikel

  • Coding
  • Python
  • Statistics & Methods
Ensemble-Methoden im maschinellen Lernen: Bagging & Subagging
Team statworx
15.4.2025
Mehr erfahren
  • Deep Learning
  • Python
  • Tutorial
Verwendung von Reinforcement Learning zum Spielen von Super Mario Bros auf NES mit TensorFlow
Sebastian Heinz
15.4.2025
Mehr erfahren
  • Coding
  • Machine Learning
  • R
Abstimmung von Random Forest auf Zeitreihendaten
Team statworx
15.4.2025
Mehr erfahren
  • Data Science
  • Statistics & Methods
Modellregularisierung – The Bayesian Way
Thomas Alcock
15.4.2025
Mehr erfahren
  • Coding
  • Python
  • Statistics & Methods
Wie man Gradient Boosting um den Faktor Zwei beschleunigt
Team statworx
15.4.2025
Mehr erfahren
  • Coding
  • Frontend
  • R
Dynamische UI-Elemente in Shiny - Teil 2
Team statworx
15.4.2025
Mehr erfahren
  • Coding
  • R
Warum heißen sie so?! – Ursprung und Bedeutung von R-Paketnamen
Team statworx
15.4.2025
Mehr erfahren
  • Data Engineering
  • Python
Von überall aus auf deinen Spark-Cluster zugreifen – mit Apache Livy
Team statworx
15.4.2025
Mehr erfahren
  • Coding
  • Data Engineering
  • Data Science
Testen von REST-APIs mit Newman
Team statworx
14.4.2025
Mehr erfahren
  • Machine Learning
  • Python
  • R
XGBoost: Entscheidungsbaum vs. Lineares Modell
Fabian Müller
14.4.2025
Mehr erfahren
  • Data Science
  • R
Kombination von Preiselastizitäten und Verkaufsprognosen zur Verkaufssteigerung
Team statworx
14.4.2025
Mehr erfahren
  • Data Science
  • Machine Learning
  • R
Zeitreihenvorhersage mit Random Forest
Team statworx
14.4.2025
Mehr erfahren
  • Data Visualization
  • R
Gemeinschaftsdetektion mit Louvain und Infomap
Team statworx
14.4.2025
Mehr erfahren
  • Machine Learning
Machine Learning Goes Causal II: Der kausale Bruder des Random Forests
Team statworx
11.4.2025
Mehr erfahren
  • Coding
  • Data Visualization
  • R
Animierte Diagramme mit ggplot und gganimate
Team statworx
8.4.2025
Mehr erfahren
  • Artificial Intelligence
AI Trends Report 2025: Die 16 Trends im Überblick
Tarik Ashry
25.2.2025
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • GenAI
Wie ein CustomGPT Effizienz und Kreativität bei hagebau fördert
Tarik Ashry
15.1.2025
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
Explainable AI in der Praxis: Mit der richtigen Methode die Black Box öffnen
Jonas Wacker
15.1.2025
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 4)
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 3)
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 2)
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Data Science
  • Deep Learning
  • GenAI
  • Machine Learning
AI Trends Report 2024: statworx COO Fabian Müller zieht eine Zwischenbilanz
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Maßgeschneiderte KI-Chatbots: Hohe Leistung und schnelle Integration vereint
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 1)
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Human-centered AI
KI in der Arbeitswelt: Wie wir Skepsis in Zuversicht verwandeln
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Generative KI als Denkmaschine? Ein medientheoretischer Blick
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Human-centered AI
Wie Führungskräfte die Datenkultur im Unternehmen stärken können
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
Wie wir für Microsoft einen Chatbot mit echtem Wissen entwickelt haben
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Data Visualization
  • Frontend Solution
Warum Frontend-Entwicklung in Data Science-Anwendungen nützlich ist
Jakob Gepp
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • statworx
the byte - Wie wir ein KI-gesteuertes Pop-up Restaurant aufgebaut haben
Sebastian Heinz
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • GenAI
Die Zukunft des Customer Service: Generative KI als Erfolgsfaktor
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Der AI-Act ist da – diese Risikoklassen sollte man kennen
Fabian Müller
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
Genderdarstellung in der KI – Teil 2: Automatisierte Erzeugung genderneutraler Versionen von Gesichtsbildern
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Human-centered AI
  • Statistics & Methods
Die Black-Box entschlüsseln – 3 Explainable AI Methoden zur Vorbereitung auf den AI-Act
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Wie der AI-Act die KI-Branche verändern wird: Alles, was man jetzt darüber wissen muss
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Recap
  • statworx
Big Data & AI World 2023 Recap
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Statistics & Methods
Ein erster Einblick in unser Forecasting Recommender Tool
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
Vom Können, Tun und Wollen – Warum Datenkultur und Death Metal einiges miteinander gemeinsam haben
David Schlepps
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Wie man KI-generierte Avatare mit Hilfe von Stable Diffusion und Textual Inversion erstellt
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Strategy
Das Geheimnis der Datenkultur entschlüsseln: Diese Faktoren beeinflussen Kultur und Erfolg von Unternehmen
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
GPT-4 – Eine Einordnung der wichtigsten Neuerungen
Mareike Flögel
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Knowledge Management mit NLP: So einfach verarbeitet man E-Mails mit KI
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
3 Anwendungsfälle, wie ChatGPT die Kommunikation in Unternehmen revolutionieren wird
Ingo Marquart
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Machine Learning
  • Tutorial
Paradigmenwechsel in NLP: 5 Ansätze, um bessere Prompts zu schreiben
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
Ho ho ho – weihnachtlicher Küchenabriss
Julius Heinz
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Real-time Computer Vision: Gesichter erkennen mit einem Roboter
Sarah Sester
6.12.2024
Mehr erfahren
  • Recap
  • statworx
statworx @ UXDX Conf 2022
Markus Berroth
6.12.2024
Mehr erfahren
  • Data Engineering
  • Tutorial
Data Engineering – From Zero to Hero
Thomas Alcock
6.12.2024
Mehr erfahren
  • Recap
  • statworx
statworx @ vuejs.de Conf 2022
Jakob Gepp
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
Überwachung und Protokollierung von Anwendungen und Infrastruktur: Metriken und (Ereignis-)Protokolle
Team statworx
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
  • Python
Wie Du Deinen Code und Deine Abhängigkeiten in Python scannst
Thomas Alcock
6.12.2024
Mehr erfahren
  • Cloud Technology
  • Data Engineering
  • Data Science
Wie du dein Data Science Projekt fit für die Cloud machst
Alexander Broska
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
Geschlechter­darstellung in der KI – Teil 1: Verwendung von StyleGAN zur Erforschung von Geschlechter­vielfalt bei der Bild­bearbeitung
Isabel Hermes
6.12.2024
Mehr erfahren
  • R
Das helfRlein Package – Eine Sammlung nützlicher Funktionen
Team statworx
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Data-Centric AI: Von Model-First zu Data-First KI-Prozessen
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Human-centered AI
  • Machine Learning
DALL-E 2: Warum Diskriminierung in der KI-Entwicklung nicht ignoriert werden kann
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
statworx AI Principles: Warum wir eigene KI-Prinzipien entwickeln
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
5 Highlights vom Digital Festival Zürich 2021
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
Unfold 2022 in Bern – by Cleverclip
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Human-centered AI
  • Machine Learning
  • Strategy
Warum Data Science und KI-Initiativen scheitern – eine Reflektion zu nicht-technischen Faktoren
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
  • Machine Learning
Vorurteile in KI abbauen
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Cloud Technology
  • Data Science
  • Sustainable AI
Wie du als Data Scientist deinen KI CO₂ Fußabdruck verringerst
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Engineering
Automatisierte Erstellung von Docker Containern
Stephan Emmer
6.12.2024
Mehr erfahren
  • Coding
  • Data Visualization
  • R
Anpassung der Zeit- und Datumsskalen in ggplot2
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Machine Learning
5 Typen von Machine Learning Algorithmen (Mit Anwendungsfällen)
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Machine Learning
  • Python
Data Science in Python – Der Einstieg in Machine Learning mit Scikit-Learn
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
2022 und die Reise zu statworx next
Sebastian Heinz
6.12.2024
Mehr erfahren
  • Recap
  • statworx
Als Data Science Praktikant bei statworx
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Science
  • Python
Wie man mit Call Graph automatisch Projektgrafiken erstellt
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
  • Machine Learning
  • statworx
Kolumne: Mensch und Maschine Seite an Seite
Sebastian Heinz
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Machine Learning Modelle bereitstellen und skalieren mit Kubernetes
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Python
  • Tutorial
statworx Cheatsheets – Python Basics Cheatsheet für Data Science
Team statworx
6.12.2024
Mehr erfahren
  • Cloud Technology
  • Data Engineering
  • Machine Learning

3 Szenarien zum Deployment von Machine Learning Workflows mittels MLflow
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • statworx
  • Strategy
STATWORX meets DHBW – Data Science Real-World Use Cases
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Deep Learning
Car Model Classification I: Transfer Learning mit ResNet
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Car Model Classification IV: Integration von Deep Learning Modellen mit Dash
Dominique Lade
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning

Car Model Classification III: Erklärbarkeit von Deep Learning Modellen mit Grad-CAM
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Coding
  • Deep Learning
Car Model Classification II: Deployment von TensorFlow-Modellen in Docker mit TensorFlow Serving
Team statworx
6.12.2024
Mehr erfahren
  • AI Act
Potenzial noch nicht ausgeschöpft – Ein Kommentar zur vorgeschlagenen KI-Regulierung der EU
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • statworx
Creaition – Revolutionierung des Designprozesses mit Machine Learning
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Deep Learning
Die 5 wichtigsten Use Cases für Computer Vision
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Machine Learning
Generative Adversarial Networks: Wie mit Neuronalen Netzen Daten generiert werden können
Team statworx
6.12.2024
Mehr erfahren
  • Data Engineering
5 Technologien, die jeder Data Engineer kennen sollte
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
5 praxisnahe Beispiele für NLP Use Cases
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Science
  • Deep Learning
Finetuning von Tesseract-OCR für deutsche Rechnungen
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Deep Learning
Neue Trends im Natural Language Processing – Wie NLP massentauglich wird
Dominique Lade
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Machine Learning Modelle mit Hilfe von Docker Containern bereitstellen
Thomas Alcock
6.12.2024
Mehr erfahren
  • Frontend
  • Python
  • Tutorial
Wie Du ein Dashboard In Python baust – Plotly Dash Step-by-Step Tutorial
Alexander Blaufuss
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Machine Learning
Whitepaper: Ein Reifegradmodell für Künstliche Intelligenz
Team statworx
6.12.2024
Mehr erfahren
  • Data Engineering
  • R
  • Tutorial
Wie Du ShinyApps in Docker-Images einbauen kannst
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
STATWORX 2.0 – Das neue Headquarter in Frankfurt ist eröffnet
Julius Heinz
6.12.2024
Mehr erfahren
  • Coding
  • Python
Web Scraping 101 in Python mit Requests & BeautifulSoup
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
Deep Learning – Überblick und Einstieg
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • R
  • Statistics & Methods
Wie man eine Kreuzvalidierung zur Evaluation der Modellperformance von Grund auf selbst erstellt
Team statworx
6.12.2024
Mehr erfahren
  • Machine Learning
  • R
  • Statistics & Methods
Was dem MAPE fälschlicherweise vorgeworfen wird, seine WAHREN Schwächen und BESSERE Alternativen!
Team statworx
6.12.2024
Mehr erfahren
  • Data Visualization
  • R
Interaktive Netzwerkvisualisierung mit R
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Tutorial
Eine Einführung in Dataiku DSS
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Visualization
  • Python
Das häufigste Problem mit Plotly Histograms und wie man es löst
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Engineering
  • R
Wie Du ein R-Skript in Docker ausführst
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Data Visualization
  • Python
Data Science in Python – Matplotlib – Teil 4
Team statworx
6.12.2024
Mehr erfahren
This is some text inside of a div block.
This is some text inside of a div block.