Parameter abstimmen
Die Hyperparameter des Modells können nicht direkt aus den Daten geschätzt werden. Einige dieser Parameter sind für die Modellleistung von Bedeutung (z.B. mtry oder min_n für Random Forest), andere dienen eher der Stabilität (z.B. die Anzahl der Bäume, welche Sie hoch einstellen sollten). Verwenden Sie die Funktion tune() innerhalb der Modellspezifikation, um Parameter als abstimmbar zu markieren, und dials() zur Definition sinnvoller Suchbereiche.
Das Paket usemodels kann einen Datenrahmen und eine Modellformel übernehmen und anschliessend R-Code zum Tuning des Modells generieren. Der Code erstellt auch ein passendes Rezept, dessen Schritte vom gewählten Modell sowie den Prädiktordaten abhängen.
Für grössere Suchräume können Racing- oder heuristische Suchverfahren (z.B. Simulated Annealing) sinnvoll sein. Das finetune-Paket enthält für Racing die Funktion tune_race_anova(), die ANOVA-Analysen nutzt, um deutlich schlechtere Konfigurationen frühzeitig auszusondern.
Eine zu starke Feinabstimmung der Parameter kann zu einer Überanpassung führen, weil das Modell dadurch übermässig komplex wird. Daher ist es wichtig, die Kandidaten mit Resampling zu bewerten und die Ergebnisse (z.B. mit der Funktion «autoplot()») zu visualisieren.
Workflow
Workflow (Pipeline) festlegen
Ein Workflow in tidymodels ist ein Container, der eine Modellspezifikation, Vorverarbeitungsschritte (oft mittels «recipes») und den Trainings-/Validierungsprozess bündelt. Dadurch bleiben Datentransformationen und Modellanpassungen zusammen, wodurch das Risiko von Fehlanpassungen bei der Anwendung von Vorverarbeitungsschritten auf neue Daten verringert wird.
Verwenden Sie das Workflow-Paket, um:
- Ein Rezept (add_recipe()) oder eine Formel hinzuzufügen.
- Eine Modellspezifikation zu ergänzen (add_model()).
- Die kombinierte Pipeline mit fit() anzupassen oder mit fit_resamples() zu bewerten.
Workflows erleichtern das Austauschen verschiedener Modelle oder Rezepte, ohne grosse Teile des Codes neu schreiben zu müssen. So können Sie beispielsweise dasselbe Rezept beibehalten und verschiedene Algorithmen wie lineare Regression und Random Forest testen. Diese Modularität fördert das Experimentieren und die Reproduzierbarkeit – beides wesentliche Faktoren in der modernen Datenwissenschaft.
Wenn Sie viele Vorverarbeitungs- und Modellkombinationen vergleichen möchten, erstellt und verwaltet die Funktion workflow_set() systematisch mehrere Workflows. Wenn Sie nicht wissen, welcher Modellierungsansatz am besten geeignet ist, erstellen Sie eine Reihe von Workflows, die mehrere Rezepte mit mehreren Modellspezifikationen kombinieren. workflow_set() hilft Ihnen, Kombinationen zu erstellen und Resampling/Tuning über diese hinweg durchzuführen, um Alternativen effizient zu prüfen.
Resampling
Bei der Bewertung verschiedener Einstellungen für Prädiktoren besteht die Gefahr einer Überanpassung des Trainingssatzes. Dies liegt daran, dass die Parameter so lange optimiert werden können, bis der Schätzer eine optimale Leistung erbringt. Auf diese Weise können Kenntnisse über den Trainingssatz in das Modell «eindringen» und die Bewertungsmetriken geben keinen Aufschluss mehr über die Generalisierungsleistung.
Um dieses Problem zu lösen, kann ein weiterer Teil des Datensatzes als sogenannter «Validierungssatz» zurückbehalten werden. Das Training wird weiterhin mit dem Trainingssatz durchgeführt. Anschliessend erfolgt die Bewertung anhand des Validierungssatzes. War dieser Vorgang erfolgreich, kann eine abschliessende Bewertung anhand des Testsatzes vorgenommen werden.
Durch die Aufteilung der verfügbaren Daten in drei Sätze reduziert sich jedoch die Anzahl der Beobachtungen, die für das Lernen des Modells verwendet werden kann. Zudem können die Ergebnisse von der zufälligen Auswahl des Paares aus Trainings- und Validierungssätzen abhängen.
Eine Lösung für das Validierungsproblem ist Resampling. Dabei wird weiterhin ein Testsatz für die abschliessende Bewertung zurückbehalten, ein Validierungssatz wird bei diesem Verfahren jedoch nicht benötigt.
Time-based Resampling
Wenn die Daten eine starke zeitliche Komponente aufweisen, sollte eine Resampling-Methode die Modellierung unterstützen, um saisonale und andere zeitliche Trends innerhalb der Daten zu schätzen. Das Time-based Resampling bietet eine Methode, welche die in der Praxis häufig vorkommende Aufteilung von Zeitreihendaten nachahmt: Das Modell wird mit historischen Daten geschätzt und mit den neuesten Daten bewertet.
Weitere Validierungsverfahren
V-fach-Kreuzvalidierung
Die Kreuzvalidierung (auch CV genannt) ist eine etablierte Resampling-Methode. Zwar gibt es eine Reihe von Varianten, die gängigste ist jedoch die V-fach-Kreuzvalidierung. Dabei werden die Daten zufällig in V Sätze von ungefähr gleicher Grösse (sogenannte Folds) unterteilt.
Die Methode ist beliebt, da sie leicht verständlich ist und in der Regel zu einer weniger verzerrten oder optimistischen Schätzung des Modells führt.
Wiederholte V-fach-Kreuzvalidierung
Bei der wiederholten Kreuzvalidierung wird die reguläre V-fach-Kreuzvalidierung erweitert, indem der Prozess mehrmals mit unterschiedlichen, zufällig gewählten Aufteilungen der Daten wiederholt wird. Dadurch lässt sich eine zuverlässigere Schätzung der Modellleistung erzielen, weil die durch eine einzelne zufällige Aufteilung verursachte Variabilität reduziert wird.
Wiederholtes CV wird in der Regel bevorzugt, wenn eine zuverlässige Punktschätzung der Generalisierungsleistung benötigt wird und der Datensatz nicht stark zeitlich geordnet ist. Es erhöht zwar die Rechenzeit, liefert aber oft ein robusteres Verständnis dafür, wie gut ein Modell auf unbekannte Daten generalisiert (Mittelwert +/– Standardfehler).
Typische Werte für die wiederholte V-fach-Kreuzvalidierung:
- V-Wert zwischen 5 und 10
- 3 – 10 Wiederholungen, abhängig von Datensatzgrösse und Rechenbudget
Bootstrapping
Beim Bootstrap-Resampling werden Stichproben mit Zurücklegen aus dem Trainingssatz gezogen. Bootstrap-Stichproben liefern im Vergleich zur Kreuzvalidierung Leistungsschätzungen mit geringer Varianz, können jedoch eine pessimistische Verzerrung aufweisen.
Leistungskennzahlen
Die Funktion fit_resamples() verhält sich ähnlich wie fit(), erwartet jedoch anstelle eines Datenarguments ein resamples-Argument. Das Ergebnis enthält Listenspalten mit Metriken (.metrics), etwaigen Anmerkungen (.notes) und optional Vorhersagen ausserhalb der Stichprobe (.predictions), wenn save_pred = TRUE gesetzt ist.
Verwenden Sie praktische Operationen aus dem Paket «tidyr» oder Hilfsfunktionen von «tidymodels», um die Ergebnisse der Wiederholungsstichproben (Resampling) zusammenzufassen und grafisch darzustellen. Damit Sie die Leistungskennzahlen für jede Wiederholungsstichprobe erhalten, nutzen Sie die Option summarize = FALSE. Zum Zeichnen von Abstimmungsrastern oder Optimierungsläufen eignen sich die Funktion autoplot() oder das Paket ggplot2.
Bei einigen Resampling-Methoden wie Bootstrap oder wiederholter Kreuzvalidierung gibt es mehrere Vorhersagen pro Zeile des ursprünglichen Trainingssatzes. Verwenden Sie die Funktion collect_predictions(object, summarize = TRUE), um zusammengefasste Werte (Mittelwerte der replizierten Vorhersagen) zu erhalten.
Verwendung der Resampling-Modelle
Die während des Resamplings erstellten Modelle werden nicht beibehalten. Diese Modelle dienen primär der Leistungsbewertung und werden in der Regel nach der Berechnung der Leistungsstatistiken nicht mehr benötigt.
Vorhersagen vergleichen
parsnip-Vorhersagemethoden liefern tibble-basierte Ausgaben mit standardisierten Spaltennamen: z.B. .pred für numerische Vorhersagen, .pred_class und .pred_{level} für Klassifizierungswahrscheinlichkeiten. Die Anzahl der Zeilen in der Vorhersage entspricht der Eingabezeilenanzahl. Dank der einheitlichen Schnittstelle lässt sich das Modell wechseln, ohne den nachgelagerten Vorhersagecode ändern zu müssen.
Metriken
Regressionsmetriken
Verwenden Sie yardstick, um Metrik-Tabellen zu berechnen. Für Regressionen sind die Funktionen rmse(), mae() und rsq() üblich. Die Metriken «Root Mean Square Error» (RMSE) und «Mean Absolute Error» (MAE) liegen beide auf der Skala des Kriteriums und messen die Differenz zwischen den vorhergesagten und den beobachteten Werten. Der R2-Wert misst die erklärte Varianz, sodass Werte näher an eins besser sind.
Binäre Klassifizierungsmetriken
Verwenden Sie für die binäre Klassifizierung Metriken, die auf Wahrscheinlichkeiten oder der Konfusionsmatrix basieren. Sowohl der Matthews-Korrelationskoeffizient als auch der F1-Score fassen die Konfusionsmatrix zusammen. Im Vergleich zu mcc() misst f_meas() jedoch nicht die Qualität positiver und negativer Klassen, sondern betont die positive Klasse, d.h. das Ereignis von Interesse.
Es gibt zahlreiche Klassifizierungsmetriken, welche die vorhergesagten Wahrscheinlichkeiten anstelle der harten Klassenvorhersagen verwenden. Ein Beispiel ist die «Receiver Operating Characteristic Curve» (ROC-Kurve), welche die Sensitivität und Spezifität über ein Kontinuum verschiedener Ereignisschwellenwerte berechnet. Für diese Methode gibt es zwei yardstick-Funktionen: roc_curve() berechnet die Datenpunkte, aus denen sich die ROC-Kurve zusammensetzt, und roc_auc() berechnet die Fläche unter der Kurve.
Metriken sollten immer anhand von zurückgehaltenen Testsätzen oder mittels Resampling berechnet werden, um optimistische Verzerrungen zu vermeiden.
Workflow finalisieren
Nachdem Sie das beste Modell anhand der Resampling- und Abstimmungsergebnisse ausgewählt haben, prüfen Sie dessen Generalisierungsleistung auf dem bislang unbenutzten Testsatz. Dazu werden mit der Funktion predict() Vorhersagen erzeugt und die vorab definierten Leistungsmetriken (z.B. RMSE, MAE oder AUC) mit yardstick berechnet. Ergänzend empfiehlt sich eine visuelle Begutachtung (Residuenplots, ROC-Kurve o. Ä.), um systematische Abweichungen oder unerwartete Muster zu erkennen. Auf Basis dieser Befunde lässt sich abschliessend beurteilen, ob das Modell für den praktischen Einsatz bereit ist.
Fazit
Dank seiner konsistenten Syntax, seines modularen Designs und seiner Integration in tidyverse bietet tidymodels einen modernen, einheitlichen Ansatz für die Erstellung, Bewertung und Bereitstellung von Modellen in R und ist somit ein hervorragendes Toolkit sowohl für Anfänger als auch für erfahrene Anwender.
Es führt Benutzer durch die Schritte Datenbereinigung, Feature Engineering, Resampling, Tuning und Bewertung und reduziert so die Komplexität von Machine Learning Workflows. Gleichzeitig gewährleistet es Reproduzierbarkeit und Transparenz.
Letztendlich ist tidymodels nicht nur eine Sammlung von Paketen, sondern eine Philosophie: Es ermöglicht Datenwissenschaftlern, sich auf die Logik der Modellierung zu konzentrieren, anstatt sich mit den Eigenheiten verschiedener R-Pakete auseinandersetzen zu müssen. Ganz gleich, ob Sie Ihre erste lineare Regression anpassen oder eine komplexe Machine Learning Pipeline erstellen – tidymodels bietet Ihnen die Struktur, um dies effizient und konsistent zu tun.






