Zurück zu allen Blogbeiträgen

Wie man REST-APIs mit R Plumber erstellt

  • Data Engineering
  • R
  • Tutorial
23. Januar 2020
·

Stephan Emmer
Team AI Development

Datenoperationen sind ein zunehmend wichtiger Bestandteil der Datenwissenschaft, da sie Unternehmen ermöglichen, große Geschäftsdaten effektiv zurück in die Produktion zu führen. Bei STATWORX operationalisieren wir daher unsere Modelle und Algorithmen, indem wir sie in Application Programming Interfaces (APIs) übersetzen. Representational State Transfer (REST) APIs eignen sich gut, um als Teil einer modernen Microservices-Infrastruktur implementiert zu werden. Sie sind flexibel, einfach bereitzustellen, zu skalieren und zu warten, und sie sind zudem von mehreren Clients und Client-Typen gleichzeitig zugänglich. Ihr Hauptzweck besteht darin, das Programmieren zu vereinfachen, indem sie die zugrunde liegende Implementierung abstrahieren und nur Objekte und Aktionen bereitstellen, die für jede weitere Entwicklung und Interaktion benötigt werden.

Ein zusätzlicher Vorteil von APIs ist, dass sie eine einfache Kombination von Code ermöglichen, der in verschiedenen Programmiersprachen oder von unterschiedlichen Entwicklerteams geschrieben wurde. Dies liegt daran, dass APIs von Natur aus voneinander getrennt sind und die Kommunikation mit und zwischen APIs über IP oder URL (http) erfolgt, typischerweise im JSON- oder XML-Format. Stellen Sie sich beispielsweise eine Infrastruktur vor, in der eine API, die in Python geschrieben ist, und eine, die in R geschrieben ist, miteinander kommunizieren und eine Anwendung bedienen, die in JavaScript geschrieben ist.

In diesem Blogbeitrag werde ich Ihnen zeigen, wie Sie ein einfaches R-Skript, das Tabellen vom Wide-Format ins Long-Format transformiert, mit dem R-Paket Plumber in eine REST-API übersetzen und wie Sie es lokal oder mit Docker ausführen können. Ich habe diese Beispiel-API für unser Trainee-Programm erstellt, und sie dient unseren neuen Datenwissenschaftlern und Ingenieuren als Ausgangspunkt, um sich mit dem Thema vertraut zu machen.

Übersetze das R Script

Das Umwandeln eines R-Skripts in eine REST-API ist ziemlich einfach. Alles, was Sie zusätzlich zu R und RStudio benötigen, ist das Paket Plumber und optional Docker. Mit REST-APIs kann durch das Senden einer REST-Anfrage interagiert werden, und die wahrscheinlich am häufigsten verwendeten Anfragen sind GET, PUT, POST und DELETE. Hier ist der Code der Beispiel-API, die Tabellen vom Wide-Format ins Long-Format oder vom Long-Format ins Wide-Format transformiert:

## transform wide to long and long to wide format
#' @post /widelong
#' @get /widelong
function(req) {
 # library
 require(tidyr)
 require(dplyr)
 require(magrittr)
 require(httr)
 require(jsonlite)

 # post body
 body <- jsonlite::fromJSON(req(dollar sign)postBody)

 .data <- body(dollar sign).data
 .trans <- body(dollar sign).trans
 .key <- body(dollar sign).key
 .value <- body(dollar sign).value
 .select <- body(dollar sign).select

 # wide or long transformation
 if(.trans == 'l' || .trans == 'long') {
   .data %<>% gather(key = !!.key, value = !!.value, !!.select)
   return(.data)
 } else if(.trans == 'w' || .trans == 'wide') {
   .data %<>% spread(key = !!.key, value = !!.value)
   return(.data)
 } else {
   print('Please specify the transformation')
 }
}

Wie Sie sehen können, handelt es sich um eine Standard-R-Funktion, die durch spezielle Plumber-Kommentare @post und @get erweitert wird, die es der API ermöglichen, auf diese Arten von Anfragen zu reagieren. Es ist notwendig, den Pfad /widelong zu jeder eingehenden Anfrage hinzuzufügen. Dies geschieht, weil es möglich ist, mehrere API-Funktionen zu stapeln, die auf verschiedene Pfade reagieren. Wir könnten beispielsweise eine weitere Funktion mit dem Pfad /naremove zu unserer API hinzufügen, die NAs aus Tabellen entfernt.

Die R-Funktion selbst hat ein Funktionsargument req, das verwendet wird, um einen (POST) Request Body zu empfangen. Im Allgemeinen gibt es zwei verschiedene Möglichkeiten, zusätzliche Argumente und Objekte an eine REST-API zu senden: den Header und den Body. Ich habe mich entschieden, nur einen Body und keinen Header zu verwenden, was die API sauberer und sicherer macht und es uns ermöglicht, größere Objekte zu senden. Ein Header könnte beispielsweise verwendet werden, um einige optionale Funktionsargumente festzulegen, sollte jedoch ansonsten sparsam verwendet werden.

Die Verwendung eines Bodys mit der API ist auch der Grund, warum gleichzeitig GET- und POST-Anfragen (@post, @get) erlaubt sind. Während einige Clients es vorziehen, einen Body mit einer GET-Anfrage zu senden, wenn sie nicht dauerhaft etwas an den Server posten usw., haben viele andere Clients überhaupt nicht die Möglichkeit, einen Body mit einer GET-Anfrage zu senden. In diesem Fall ist es zwingend erforderlich, eine POST-Anfrage hinzuzufügen. Typische Clients sind Anwendungen, integrierte Entwicklungsumgebungen (IDEs) und andere APIs. Durch die Akzeptanz beider Anfragetypen gewinnt unsere API daher eine größere Antwortflexibilität.

Für das Anfrage-Antwort-Format der API habe ich mich entschieden, bei der JavaScript Object Notation (JSON) zu bleiben, die wahrscheinlich das häufigste Format ist. Es wäre möglich, stattdessen die Extensible Markup Language (XML) mit R Plumber zu verwenden. Die Entscheidung für das eine oder das andere wird höchstwahrscheinlich davon abhängen, welche zusätzlichen R-Pakete Sie verwenden möchten oder welches Format die Clients der API überwiegend verwenden. Die R-Pakete, die in meiner Beispiel-API verwendet werden, um REST-Anfragen zu bearbeiten, sind jsonlite und httr. Die drei Tidyverse-Pakete werden verwendet, um die Tabellenumwandlung in Breit- oder Langformat vorzunehmen.

API ausführen

Die fertige REST-API kann lokal mit R oder RStudio wie folgt ausgeführt werden:

library(plumber)

widelong_api <- plumber::plumb("./path/to/directory/widelongwide.R")
widelong_api(dollar sign)run(host = '127.0.0.1', port = 8000)

Beim Starten der API stellt das Plumber-Paket uns eine IP-Adresse und einen Port zur Verfügung, und ein Client, z.B. eine andere R-Instanz, kann nun beginnen, REST-Anfragen zu senden. Es öffnet auch ein Browser-Tool namens Swagger, das nützlich sein kann, um zu überprüfen, ob Ihre API wie beabsichtigt funktioniert. Sobald die Entwicklung einer API abgeschlossen ist, würde ich empfehlen, ein Docker-Image zu erstellen und es in einem Container auszuführen. Das macht die API sehr portabel und unabhängig von ihrem Host-System. Da wir die meisten APIs in der Produktion verwenden und sie z.B. auf einen Firmenserver oder in die Cloud bereitstellen möchten, ist dies besonders wichtig. Hier ist das Dockerfile, um das Docker-Image der Beispiel-API zu erstellen:

FROM trestletech/plumber

# Install dependencies
RUN apt-get update --allow-releaseinfo-change && apt-get install -y
   liblapack-dev
   libpq-dev

# Install R packages
RUN R -e "install.packages(c('tidyr', 'dplyr', 'magrittr', 'httr', 'jsonlite'),
repos = 'https://cran.us.r-project.org')"

# Add API
COPY ./path/to/directory/widelongwide.R /widelongwide.R

# Make port available
EXPOSE 8000

# Entrypoint
ENTRYPOINT ["R", "-e",
"widelong <- plumber::plumb('widelongwide.R');
widelong(dollar sign)run(host = '0.0.0.0', port= 8000)"]

CMD ["/widelongwide.R"]

Eine REST-Anfrage senden

Die Wide-Long-Beispiel-API kann im Allgemeinen auf jeden Client reagieren, der eine POST- oder GET-Anfrage mit einem Body im JSON-Format sendet, die eine Tabelle im CSV-Format und alle benötigten Informationen zur Transformation enthält. Hier ist ein Beispiel für eine Webanwendung, die ich für unser Trainee-Programm geschrieben habe, um die Wide-Long-API zu ergänzen:

Die Anwendung ist in R Shiny geschrieben, einem großartigen R-Paket, um Ihre statischen Diagramme und Ausgaben in ein interaktives Dashboard zu verwandeln. Wenn Sie daran interessiert sind, wie man Dashboards in R erstellt, schauen Sie sich andere Beiträge in unserem STATWORX Blog an.

Zu guter Letzt finden Sie hier ein Beispiel, wie man eine REST-Anfrage von R oder RStudio senden kann:

library(httr)
library(jsonlite)
options(stringsAsFactors = FALSE)

# url for local testing
url <- "https://127.0.0.1:8000"

# url for docker container
url <- "https://0.0.0.0:8000"

# read example stock data
.data <- read.csv('./path/to/data/stocks.csv')

# create example body
body <- list(
 .data = .data,
 .trans = "w",
 .key = "stock",
 .value = "price",
 .select = c("X","Y","Z")
)

# set API path
path <- 'widelong'

# send POST Request to API
raw.result <- POST(url = url, path = path, body = body, encode = 'json')

# check status code
raw.result(dollar sign)status_code

# retrieve transformed example stock data
.t_data <- fromJSON(rawToChar(raw.result(dollar sign)content))

Wie Sie sehen können, ist es ziemlich einfach, REST-Anfragen in R zu stellen. Wenn Sie einige Testdaten benötigen, könnten Sie das Aktiendaten-Beispiel aus dem Tidyverse verwenden.

Zusammenfassung

In diesem Blogbeitrag habe ich Ihnen gezeigt, wie Sie ein einfaches R-Skript, das Tabellen vom Breit- ins Langformat transformiert, mit dem R-Paket Plumber in eine REST-API übersetzen und wie Sie es lokal oder mit Docker ausführen können. Ich hoffe, Sie haben die Lektüre genossen und etwas darüber gelernt, wie man R-Skripte mit dem R-Paket Plumber in REST-APIs operationalisiert und wie man sie lokal und mit Docker ausführt. Sie sind herzlich eingeladen, jeden Code aus diesem Blogbeitrag zu kopieren und zu verwenden, um Ihre REST-APIs mit R zu starten und zu erstellen.

Bis dahin bleiben Sie dran und besuchen Sie bald wieder unseren STATWORX Blog.

Wir stellen ein!

Data Engineering ist Ihr Ding und Sie suchen einen Job? Wir suchen derzeit Junior Consultants und Consultants im Bereich Data Engineering. Überprüfen Sie die Anforderungen und Vorteile der Zusammenarbeit mit uns auf unserer Karriere-Seite. Wir freuen uns auf Ihre Bewerbung!

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

Weitere Blogartikel

  • Coding
  • Data Science
  • Machine Learning
Zero-Shot Textklassifikation
Fabian Müller
17.4.2025
Mehr erfahren
  • Coding
  • Python
Making Of: Eine kostenlose API für COVID-19-Daten
Sebastian Heinz
17.4.2025
Mehr erfahren
  • Coding
  • Python
  • R
R und Python: Mit Reticulate das Beste aus beiden Welten nutzen
Team statworx
17.4.2025
Mehr erfahren
  • Coding
  • Frontend
  • R
Einstieg in Flexdashboards in R
Thomas Alcock
17.4.2025
Mehr erfahren
  • Artificial Intelligence
  • Machine Learning
  • Statistics & Methods
Machine Learning Goes Causal I: Warum Kausalität wichtig ist
Team statworx
17.4.2025
Mehr erfahren
  • Coding
  • Data Visualization
  • R
Koordinatensysteme in ggplot2: Leicht übersehen und ziemlich unterschätzt
Team statworx
17.4.2025
Mehr erfahren
  • Coding
  • Frontend
  • R
Dynamische UI Elemente in Shiny – Teil 1
Team statworx
17.4.2025
Mehr erfahren
  • Recaps
  • statworx
statworx 2019 – Ein Jahresrückblick
Sebastian Heinz
17.4.2025
Mehr erfahren
  • Recap
  • statworx
STATWORX auf Tour: Wein, Burgen & Wandern!
Team statworx
17.4.2025
Mehr erfahren
  • Recap
  • statworx
Auf zu neuen Abenteuern: Soft Opening des STATWORX Büros
Team statworx
17.4.2025
Mehr erfahren
  • Recap
  • statworx
STATWORX on Tour: Year-End-Event in Belgien
Sebastian Heinz
17.4.2025
Mehr erfahren
  • Recap
  • statworx
statworx Sommer-Barbecue 2019
Team statworx
17.4.2025
Mehr erfahren
  • Coding
  • R
  • Tutorial
R Code in Sublime Text kompilieren
Team statworx
17.4.2025
Mehr erfahren
  • Coding
  • R
  • Tutorial
Gestalten Sie RStudio nach Ihren Wünschen – Denn Schönheit zählt
Team statworx
17.4.2025
Mehr erfahren
  • Recaps
  • statworx
2020 – Ein Rückblick für mich und GPT-3
Sebastian Heinz
17.4.2025
Mehr erfahren
  • Coding
  • R
Master R Shiny: Ein Trick zum Aufbau wartbarer und skalierbarer Ereignisketten
Team statworx
17.4.2025
Mehr erfahren
  • 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 Plots 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
  • 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
  • Machine Learning
  • Python
  • Tutorial
Wie man eine Machine Learning API mit Python und Flask erstellt
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
This is some text inside of a div block.
This is some text inside of a div block.