Zurück zu allen Blogbeiträgen

Wie man Gradient Boosting um den Faktor Zwei beschleunigt

  • Coding
  • Python
  • Statistics & Methods
22. März 2019
·

Team statworx

Einführung

Bei statworx helfen wir nicht nur Kunden dabei, eine geeignete Datenstrategie zu finden, zu entwickeln und umzusetzen, sondern wir verbringen auch Zeit damit, Forschung zu betreiben, um unseren eigenen Werkzeugstapel zu verbessern. Auf diese Weise können wir der Open-Source-Community etwas zurückgeben.

Ein besonderer Schwerpunkt meiner Forschung liegt auf baumbasierten Ensemble-Methoden. Diese Algorithmen sind unverzichtbare Werkzeuge im Bereich des prädiktiven Lernens und du findest sie als eigenständiges Modell oder als Bestandteil eines Ensembles in fast jeder überwachten Lern-Herausforderung auf Kaggle. Bekannte Modelle sind der Random Forest von Leo Breiman, Extrem zufällig ausgewählte Bäume (Extra-Trees) von Pierre Geurts, Damien Ernst & Louis Wehenkel und Multiple Additive Regression Trees (MART; auch bekannt als Gradient Boosted Trees) von Jerome Friedman.

Besonders interessiert hat mich, wie sehr Randomisierungstechniken dazu beigetragen haben, die Vorhersageleistung in all den oben genannten Algorithmen zu verbessern. Bei Random Forest und Extra-Trees ist es ziemlich offensichtlich. Hier ist die Randomisierung der Grund, warum die Ensembles eine Verbesserung gegenüber dem Bagging bieten; durch die Dekorrelation der Basislerner verringert sich die Varianz des Ensembles und damit der Vorhersagefehler. Letztendlich erreicht man die Dekorrelation durch das „Aufschütteln“ der Basisbäume, wie es in den beiden Ensembles getan wird. Allerdings profitiert auch MART von der Randomisierung. Im Jahr 2002 veröffentlichte Friedman ein weiteres Papier über Boosting, das zeigt, dass du die Vorhersageleistung von gebooteten Bäumen verbessern kannst, indem du jeden Baum nur auf einer zufälligen Teilmenge deiner Daten trainierst. Als Nebeneffekt verkürzt sich auch die Trainingszeit. Darüber hinaus schlugen Rashmi und Gilad im Jahr 2015 vor, eine Methode namens Dropout zum Boosting-Ensemble hinzuzufügen: eine Methode, die in neuronalen Netzen gefunden und verwendet wird.

Die Idee hinter Random Boost

Inspiriert von theoretischen Lesungen über randomization techniques im Boosting habe ich einen neuen Algorithmus entwickelt, den ich Random Boost (RB) nannte. Im Wesentlichen wächst Random Boost sequenziell Regression-Bäume mit zufälliger Tiefe. Genauer gesagt ist der Algorithmus fast identisch mit und hat genau die gleichen Eingabeargumente wie MART. Der einzige Unterschied ist der Parameter $d_{max}$. In MART bestimmt $d_{max}$ die maximale Tiefe aller Bäume im Ensemble. In Random Boost stellt das Argument die obere Grenze der möglichen Baumgrößen dar. In jeder Boosting-Iteration $i$ wird eine zufällige Zahl $d_i$ zwischen 1 und $d_{max}$ gezogen, die dann die maximale Tiefe des Baums $T_i(d_i)$ definiert.

Im Vergleich zu MART hat dies zwei Vorteile:

Erstens ist RB im Durchschnitt schneller als MART, wenn es mit dem gleichen Wert für die Baumgröße ausgestattet ist. Wenn RB und MART mit einem Wert für die maximale Baumtiefe gleich $d_{max}$ trainiert werden, wird Random Boost in vielen Fällen von Natur aus Bäume der Größe $d$<$d_{max}$ wachsen lassen. Wenn du davon ausgehst, dass bei MART alle Bäume auf ihre volle Größe $d_{max}$ wachsen (d. h. es gibt genug Daten in jedem inneren Knoten, sodass das Baumwachstum nicht vor Erreichen der maximalen Größe stoppt), kannst du eine Formel ableiten, die den relativen Rechengewinn von RB gegenüber MART zeigt:

$t_{rel}(d_{max}) = frac{t_{mathrm{RB}}(d_{max})}{t_{mathrm{MART}}(d_{max})} approx frac{2}{d_{max}}left(1 - left(frac{1}{2}right)^{d_{max}} right).$

$t_{RB}(d_{max})$ ist zum Beispiel die Trainingszeit eines RB-Boosting-Ensembles mit dem Baumgrößenparameter gleich $d_{max}$.

Um es etwas praktischer zu machen, sagt die Formel voraus, dass RB für $d_{max}=2, 3$ und $4$ jeweils $75%, 58%$ bzw. $47%$ der Rechenzeit von MART benötigt. Diese Vorhersagen sollten jedoch als RB's Best-Case-Szenario angesehen werden, da MART auch nicht unbedingt vollständige Bäume wachsen lässt. Dennoch deuten die Berechnungen darauf hin, dass Effizienzgewinne erwartet werden können (mehr dazu später).

Zweitens gibt es auch Gründe anzunehmen, dass die Randomisierung über Baumtiefen einen positiven Effekt auf die Vorhersageleistung haben kann. Wie bereits erwähnt, leidet Boosting aus verschiedenen Gründen unter Überkapazität. Einer davon ist die Wahl eines zu komplexen Basislerners in Bezug auf die Tiefe. Wenn beispielsweise angenommen wird, dass die dominante Interaktion im datengenerierenden Prozess von Ordnung drei ist, würde man einen Baum mit entsprechender Tiefe in MART wählen, um diese Interaktions-Tiefe zu erfassen. Dies kann jedoch übermäßig sein, da vollständig gewachsene Bäume mit einer Tiefe von $3$ acht Blätter haben und daher Rauschen in den Daten lernen, wenn es nur wenige solcher hochrangiger Interaktionen gibt. Vielleicht wäre in diesem Fall ein Baum mit Tiefe $3$, aber weniger als acht Blättern optimal. Dies wird in MART nicht berücksichtigt, wenn man nicht jeden Boosting-Iteration einen Pruning-Schritt hinzufügen möchte, was auf Kosten von zusätzlichem Rechenaufwand geht. Random Boost könnte ein effizienteres Mittel zur Lösung dieses Problems bieten. Mit Wahrscheinlichkeit $1 / d_{max}$ wird ein Baum gewachsen, der in der Lage ist, den hochrangigen Effekt zu erfassen, jedoch auch Rauschen lernt. In allen anderen Fällen konstruiert Random Boost kleinere Bäume, die nicht das Überkapazitätsverhalten zeigen und sich auf Interaktionen geringerer Ordnung konzentrieren können. Wenn Überkapazität bei MART aufgrund unterschiedlicher Interaktionen in den Daten, die von einer kleinen Anzahl hochrangiger Interaktionen geregelt werden, ein Problem darstellt, könnte Random Boost besser abschneiden als MART. Darüber hinaus dekorreliert Random Boost auch Bäume durch die zusätzliche Quelle von Zufälligkeit, die einen varianzreduzierenden Effekt auf das Ensemble hat.

Das Konzept von Random Boost stellt eine leichte Änderung von MART dar. Ich habe das sklearn-Paket als Grundlage für meinen Code verwendet. Daher wird der Algorithmus basierend auf sklearn.ensemle.GradientBoostingRegressor und sklearn.ensemle.GradientBoostingClassifier entwickelt und genau auf die gleiche Weise verwendet (d. h. Argumentnamen stimmen genau überein und CV kann mit sklearn.model_selection.GridSearchCV durchgeführt werden). Der einzige Unterschied ist, dass das RandomBoosting*-Objekt max_depth verwendet, um Baumtiefen zufällig für jede Iteration zu ziehen. Als Beispiel kannst du es so verwenden:

rb = RandomBoostingRegressor(learning_rate=0.1, max_depth=4, n_estimators=100)
rb = rb.fit(X_train, y_train)
rb.predict(X_test)

Für den vollständigen Code, schau dir meinen GitHub-Account an.

Random Boost versus MART – Eine Simulationsstudie

Um die beiden Algorithmen zu vergleichen, führte ich eine Simulation auf 25 Datensätzen durch, die von einem Random Target Function Generator erzeugt wurden, der von Jerome Friedman in seinem berühmten Boosting-Papier von 2001 eingeführt wurde (Details findest du in seinem Paper. Python-Code findest du hier. Jeder Datensatz (mit 20.000 Beobachtungen) wurde zufällig in einen 25% Testsatz und einen 75% Trainingssatz aufgeteilt. RB und MART wurden über 5-fache CV auf dem gleichen Tuning-Gitter abgestimmt.

learning_rate = 0.1
max_depth = (2, 3, ..., 8)
n_estimators = (100, 105, 110, ..., 195)

Für jeden Datensatz stimmte ich beide Modelle ab, um die beste Parameterkonstellation zu erhalten. Dann trainierte ich jedes Modell erneut an jedem Punkt des Tuning-Gitters und speicherte die Test-MAE sowie die gesamte Trainingszeit in Sekunden. Warum habe ich jedes Modell erneut trainiert und nicht einfach die Vorhersagegenauigkeit der abgestimmten Modelle zusammen mit der gesamten Abstimmungszeit gespeichert? Nun, ich wollte sehen können, wie sich die Trainingszeit mit dem Baumgrößenparameter ändert.

Ein Vergleich der Vorhersagegenauigkeiten

Du kannst die Verteilung der MAEs der besten Modelle auf allen 25 Datensätzen unten sehen.

absolute MAE

Offensichtlich schneiden beide Algorithmen ähnlich ab.

Für einen besseren Vergleich berechne ich die relative Differenz zwischen der Vorhersageleistung von RB und MART für jeden Datensatz j, d. h. $j$, i.e. $MAE_{rel,j}=frac{MAE_{RB,j}-MAE_{MART,j}}{MAE_{MART,j}}$. Wenn $MAE_{rel,j}$>$0$, dann hatte RB einen größeren mittleren absoluten Fehler als MART auf Datensatz $j$, und umgekehrt.MAE nach Datensatz mit Boxplot

MAE by dataset with boxplot

In den meisten Fällen schnitt RB schlechter ab als MART in Bezug auf die Vorhersagegenauigkeit ($MAE_{rel}$>$0$). Im schlimmsten Fall hatte RB einen 1% höheren MAE als MART. Im Median hat RB einen 0,19% höheren MAE. Ich überlasse es Ihnen zu entscheiden, ob dieser Unterschied praktisch signifikant ist.

Ein Vergleich der Trainingszeiten

Wenn wir uns die Trainingszeit ansehen, erhalten wir ein ziemlich klares Bild. In absoluten Zahlen dauerte es durchschnittlich 433 Sekunden, um alle Parameterkombinationen von RB zu trainieren, im Gegensatz zu 803 Sekunden für MART.durchschnittliche Trainingszeit

average training time

Die kleinen schwarzen Linien oben auf jeder Leiste sind die Fehlerbalken (2-mal die mittlere Standardabweichung; in diesem Fall eher klein).

Um dir ein besseres Gefühl dafür zu geben, wie jedes Modell auf jedem Datensatz abschneidet, habe ich auch die Trainingszeiten für jede Runde geplottet.

total training time

Wenn du jetzt das Trainingszeitverhältnis zwischen MART und RB berechnen ($frac{t_{MART}}{t_{RB}}$), siehst du, dass RB im Durchschnitt etwa 1,8-mal schneller als MART ist.

Eine weitere Perspektive auf den Fall ist das relative Training  $t_{rel,j}=frac{t_{RB,j}}{t_{MART,j}}$ zu berechnen, das nur 1 durch die Beschleunigung ist. Beachte, dass diese Maßnahme etwas anders interpretiert werden muss als das relative MAE-Maß oben. Wenn $t_{rel,j}=1$, dann ist RB genauso schnell wie MART, wenn $t_{rel,j}$>$1$, dann dauert es länger, RB zu trainieren als MART, und wenn $t_{rel,j}$<$1$, dann ist RB schneller als MART.

Im Durchschnitt benötigt RB nur etwa 54% der Abstimmungszeit von MART im Median und ist in allen Fällen merklich schneller. Ich habe mich auch gefragt, wie das relative Training mit $d_{max}$ variiert und wie gut die theoretisch abgeleitete untere Grenze von oben zur tatsächlich gemessenen relativen Trainingszeit passt. Deshalb habe ich die relative Trainingszeit über alle 25 Datensätze nach Baumgröße berechnet.

Tree size ($max_depth$) Actual Training time (RB / MART) Theoretical lower bound
2 0.751 0.750
3 0.652 0.583
4 0.596 0.469
5 0.566 0.388
6 0.532 0.328
7 0.505 0.283
8 0.479 0.249


Die theoretischen Zahlen sind optimistisch, aber der relative Leistungsgewinn von RB steigt mit der Baumgröße.

Ergebnisse in Kürze und nächste Schritte

Im Rahmen meiner Forschung zu baumbasierten Ensemble-Methoden habe ich einen neuen Algorithmus namens Random Boost entwickelt. Random Boost basiert auf Jerome Friedmans MART, mit dem kleinen Unterschied, dass es Bäume zufälliger Größe passt. Insgesamt kann diese kleine Änderung das Problem des Overfittings reduzieren und die Berechnung deutlich beschleunigen. Mithilfe eines von Friedman vorgeschlagenen Random Target Function Generator fand ich heraus, dass RB im Durchschnitt etwa doppelt so schnell wie MART ist, mit einer vergleichbaren Vorhersagegenauigkeit in Erwartung.

Da das Durchführen der gesamten Simulation ziemlich viel Zeit in Anspruch nimmt (das Finden der optimalen Parameter und das erneute Training jedes Modells dauert etwa eine Stunde für jeden Datensatz auf meinem Mac), konnte ich nicht Hunderte oder mehr Simulationen für diesen Blogbeitrag durchführen. Das ist das Ziel für zukünftige Forschung zu Random Boost. Außerdem möchte ich den Algorithmus an realen Datensätzen benchmarken.

In der Zwischenzeit können Sie gerne meinen Code ansehen und die Simulationen selbst durchführen. Alles ist auf GitHub. Darüber hinaus, wenn Sie etwas Interessantes finden und es mit mir teilen möchten, zögern Sie nicht, mir eine E-Mail zu schicken.

Referenzen

  • Breiman, Leo (2001). Random Forests. Machine Learning, 45, 5–32
  • Chang, Tianqi, and Carlos Guestrin. 2016. XGBoost: A Scalable Tree Boosting System. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Pages 785-794
  • Chapelle, Olivier, and Yi Chang. 2011. “Yahoo! learning to rank challenge overview”. In Proceedings of the Learning to Rank Challenge, 1–24.
  • Friedman, J. H. (2001). Greedy function approximation: a gradient boosting machine. Annals of statistics, 1189-1232.
  • Friedman, J. H. (2002). “Stochastic gradient boosting”. Computational Statistics & Data Analysis 38 (4): 367–378.
  • Geurts, Pierre, Damien Ernst, and Louis Wehenkel (2006). “Extremely randomized trees”. Machine learning 63 (1): 3–42.
  • Rashmi, K. V., and Ran Gilad-Bachrach (2015). Proceedings of the 18th International Conference on Artificial Intelligence and Statistics (AISTATS) 2015, San Diego, CA, USA. JMLR: W&CP volume 38.

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
  • 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
  • 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
  • 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.