Icon

F1

2 - Data Understanding: Einlesen & Typen

3a - Data Prep: Karriere-Features (vor Jahresfilter!)

3b - Data Prep: Round-Offset-Standings (Leakage-Schutz)

3c - Data Prep: Round-Offset-Standings (Leakage-Schutz)

3d - Data Prep: Vorjahres-WM (Feature + Baseline 2)

3e - Data Prep: Pitstop-Effizienz

3f - Data Prep: Alter, Strafwerte, Missing Values

3g - Data Prep: Zeitbasierter Split

4 - Modelling

5 - Evaluation

5 - Baselines K8 - I1

5 - Baselines K8 - I2

5 - Baselines K8 - I3

6 - Abschlusslisten: Vorhersagen im Klartext gegen die Baselines

F9bpit_ma3_before = fehlend fuerdie ausgeschlossenen Fahrer
Constant Value Column Appender
F9cBeide Gruppen wieder zusammenfuehren
Concatenate
F9fpit_ma3_before in den HauptdatenflussLECK: Left Join laesst den Wert genau dann leer,wenn der Fahrer im AKTUELLEN Rennen nicht gestoppt hatMerkmal deshalb aus beiden Modellen entfernt
Joiner
F10Pitstop-Zeiten mit Fahrer-und Rennbezug verbinden
Joiner
F9d-> pit_ma3_before
Column Renamer
F9eAuf raceId, driverId,pit_ma3_before reduzieren
Column Filter
F13Chronologisch nach date
Sorter
K9pred_rank kleiner gleich 3 -> TOP3(RF 2024)
Rule Engine
F14Schleife je Team und Strecke
Group Loop Start
F11Team- und Streckenbezug ergaenzen
Joiner
K9pred_rank kleiner gleich 3 -> TOP3(XGBoost 2024)
Rule Engine
L0bdrivers.csv auf driverId + surname(Fahrername)
Column Filter
F12Mittlere Standzeit je Team,Strecke und Rennen
GroupBy
K10positionOrder -> true_top3Vergleichsspalte (RF 2024)
Rule Engine
L0araces.csv auf raceId + name(Grand-Prix-Bezeichnung)
Column Filter
L2 (2025)Grand-Prix-Name anfuegen
Joiner
K10positionOrder -> true_top3Vergleichsspalte (XGBoost 2024)
Rule Engine
L1 (2025)RF- und XGBoost-Rangin einer Tabelle vereinen
Joiner
L4 (2025)Spalten sprechend benennen
Column Renamer
L3 (2025)Fahrername anfuegen
Joiner
L6 (2025)Nach Rennen und Zielposition sortieren
Sorter
L5 (2025)Auf die 8 Vergleichsspalten reduzieren
Column Filter
L8 (2025)Nur die tatsaechlichen Sieger
Row Filter
L7 (2025)ABSCHLUSSLISTE: alle Fahrer,beide Modelle, beide Baselines
Table View
F14cUm 1 Rennen verzoegernLEAKAGE-SCHUTZ
Lag Column
F15-> pit_circuit_hist
Column Renamer
K10positionOrder -> true_top3Vergleichsspalte (RF 2025)
Rule Engine
F14bKumulierter Streckenmittelwertdes Teams
Moving Aggregator
K9pred_rank kleiner gleich 3 -> TOP3(RF 2025)
Rule Engine
F16pit_circuit_hist in den HauptdatenflussGleiches Leck wie F9f, ebenfallsaus beiden Modellen entfernt
Joiner
K10positionOrder -> true_top3Vergleichsspalte (XGBoost 2025)
Rule Engine
G1Geburtsdatum (dob)je Fahrer anfuegen
Joiner
K9pred_rank kleiner gleich 3 -> TOP3(XGBoost 2025)
Rule Engine
F15bSchleife schliessen
Loop End
K10positionOrder -> true_top3Vergleichsspalte (RF 2026)
Rule Engine
F15cAuf Schluessel undpit_circuit_hist reduzieren
Column Filter
K9pred_rank kleiner gleich 3 -> TOP3(RF 2026)
Rule Engine
G3age_days / 365,25 = age(Fahreralter in Jahren)
Math Formula
K10positionOrder -> true_top3Vergleichsspalte (XGBoost 2026)
Rule Engine
L9 (2025)SIEGER-SICHT: Was sagten dieVerfahren ueber den echten Sieger?
Table View
K9pred_rank kleiner gleich 3 -> TOP3(XGBoost 2026)
Rule Engine
G2Renndatum minus dob = age_daysKORRIGIERT: stand vorher aufdob minus dob (Ergebnis immer 0)
Date&Time Difference
K13BASELINE 1 als Klassequali_pos kleiner gleich 3 -> TOP3 (2024)
Rule Engine
L2 (2026)Grand-Prix-Name anfuegen
Joiner
G1bdob von String zu Datum
String to Date&Time
K12Korrelationsanalyse auf dem TrainingGefiltert auf die 12 Modellmerkmaleplus Zielvariable positionOrder
Linear Correlation
L1 (2026)RF- und XGBoost-Rangin einer Tabelle vereinen
Joiner
L4 (2026)Spalten sprechend benennen
Column Renamer
L3 (2026)Fahrername anfuegen
Joiner
L6 (2026)Nach Rennen und Zielposition sortieren
Sorter
L5 (2026)Auf die 8 Vergleichsspalten reduzieren
Column Filter
L8 (2026)Nur die tatsaechlichen Sieger
Row Filter
A1races.csv einlesen
CSV Reader
L7 (2026)ABSCHLUSSLISTE: alle Fahrer,beide Modelle, beide Baselines
Table View
A2results.csv einlesen
CSV Reader
A3qualifying.csv einlesen
CSV Reader
L9 (2026)SIEGER-SICHT: Was sagten dieVerfahren ueber den echten Sieger?
Table View
A4driver_standings.csv einlesen
CSV Reader
A5constructor_standings.csv einlesen
CSV Reader
A6pit_stops.csv einlesen
CSV Reader
A7drivers.csv einlesen
CSV Reader
K15Kappa Baseline 1a (Quali), Val 2024Kappa 0,559
Scorer
K15Kappa Baseline 1a (Quali), Test 2025Kappa 0,706
Scorer
K13BASELINE 1 als Klassequali_pos kleiner gleich 3 -> TOP3 (2025)
Rule Engine
E4bposition von String zu Integer
String Manipulation
K15Kappa Baseline 2 (Vorjahres-WM), Val 2024Kappa 0,199
Scorer
E5year + 1: Endstand wirdMerkmal der Folgesaison
Math Formula
K13BASELINE 2 als Klasseprev_year_champ_pos -> TOP3 (2024)
Rule Engine
E3bSpalten des Endstands umbenennen
Column Renamer
K15Kappa Baseline 2 (Vorjahres-WM), Test 2025Kappa 0,477
Scorer
E4Auf year, driverId, position reduzieren
Column Filter
K13BASELINE 2 als Klasseprev_year_champ_pos -> TOP3 (2025)
Rule Engine
F1milliseconds zu Zahl (Missing ok:Pitstop ist nicht in jedemRennen Pflicht)
String to Number
K1Nach raceId und Vorhersagewertsortieren (XGBoost 2024)
Sorter
F5e NEUNach driverId und date sortierenLEAKAGE-SCHUTZ: das 3er-Fensterbraucht eine feste Reihenfolge
Sorter
F2Standzeiten ueber 60.000 ms verwerfen(Rotphase, Reparatur, Strafe -kein Signal fuer die Crew)
Row Filter
E6-> prev_year_champ_pos(zugleich Baseline 2)
Column Renamer
K2Rang je Rennen = pred_rank(XGBoost 2024)
Rank
E7prev_year_champ_pos in denHauptdatenfluss joinen
Joiner
K1Nach raceId und Vorhersagewertsortieren (XGBoost 2025)
Sorter
K14 NEUpositionOrder -> true_top3Vergleichsspalte Baseline 1 (2024)
Rule Engine
K2Rang je Rennen = pred_rank(XGBoost 2025)
Rank
K3MAE und R2 (XGBoost 2024)MAE 2,948 / R2 0,492
Numeric Scorer
F3Mittlere Standzeitje Fahrer und Rennen
GroupBy
K1Nach raceId und Vorhersagewertsortieren (RF 2024)
Sorter
F3b-> pit_ms_race
Column Renamer
K3MAE und R2 (XGBoost 2025)MAE 3,395 / R2 0,306
Numeric Scorer
K2Rang je Rennen = pred_rank(RF 2024)
Rank
K3MAE und R2 (RF 2024)MAE 2,910 / R2 0,500
Numeric Scorer
K1Nach raceId und Vorhersagewertsortieren (RF 2025)
Sorter
K14 NEUpositionOrder -> true_top3Vergleichsspalte Baseline 2 (2024)
Rule Engine
F4Pitstop-Mittel an dieRenntabelle anfuegen
Joiner
K14 NEUpositionOrder -> true_top3Vergleichsspalte Baseline 1 (2025)
Rule Engine
K14 NEUpositionOrder -> true_top3Vergleichsspalte Baseline 2 (2025)
Rule Engine
F7Gleitender Mittelwertueber die letzten 3 Rennen
Moving Aggregator
F8Um 1 Rennen verzoegernDie Verzoegerung ist korrekt. Das Leck sitztnicht hier, sondern im Join F9f
Lag Column
F5Chronologisch nach date(speist nur die Zaehlung F5b)
Sorter
D8b NEUWM-Positionen von Text zu IntegerBackslash-N wird zu fehlendem Wertsonst nominale Kategorien statt Raenge
String to Number
F6Schleife je driverIdACHTUNG: Die Kette startet bei pit_stops.csvund kennt nur Rennen MIT Boxenstopp
Group Loop Start
A8races auf raceId, year,round, circuitId, date
Column Filter
F5cAnzahl an die Pitstop-Daten anfuegen
Joiner
K2Rang je Rennen = pred_rank(RF 2025)
Rank
K13b NEU|BASELINE 1b als Klasse:|grid kleiner gleich 3 -> TOP3 (2024)
Rule Engine
A9results auf raceId, driverId,constructorId, grid, points,positionOrder (= Zielvariable)
Column Filter
F5dNur Fahrer mit mehr als 3Pitstop-Rennen in die Schleife(sonst bricht sie ab)
Row Splitter
K3MAE und R2 (RF 2025)MAE 3,349 / R2 0,321
Numeric Scorer
K8bBASELINE 1b Startplatz (grid) 2024MAE 2,992 / R2 0,423
Numeric Scorer
F9Schleife schliessen
Loop End
K15bKappa Baseline 1b (Startplatz) 2024Kappa 0,608
Scorer
F5bAnzahl Pitstop-Rennenje Fahrer zaehlen
GroupBy
K14b NEU|positionOrder -> true_top3|Vergleichsspalte Baseline 1b (2024)
Rule Engine
K13b NEU|BASELINE 1b als Klasse:|grid kleiner gleich 3 -> TOP3 (2025)
Rule Engine
K8bBASELINE 1b Startplatz (grid) 2025MAE 3,745 / R2 0,062
Numeric Scorer
K4TOP-3-TREFFERQUOTE (XGBoost 2024)Anteil der echten Podiumsfahrer,die im prognostizierten Top-3 lagenTop 10 wird hier NICHT berechnet
K4-K7
K15bKappa Baseline 1b (Startplatz) 2025Kappa 0,692
Scorer
K14b NEU|positionOrder -> true_top3|Vergleichsspalte Baseline 1b (2025)
Rule Engine
K4TOP-3-TREFFERQUOTE (RF 2025)Anteil der echten Podiumsfahrer,die im prognostizierten Top-3 lagenTop 10 wird hier NICHT berechnet
K4-K7
K4TOP-3-TREFFERQUOTE (XGBoost 2025)Anteil der echten Podiumsfahrer,die im prognostizierten Top-3 lagenTop 10 wird hier NICHT berechnet
K4-K7
K8bBASELINE 1b Startplatz (grid) 2026MAE 3,717 / R2 0,264
Numeric Scorer
B2Laufende Nummer je Fahrer= bereits absolvierte Rennen
Rank
B3rank - 1= career_races_before
Math Formula
B4Schleife je driverIdfuer kumulierte Karrierepunkte
Group Loop Start
K4TOP-3-TREFFERQUOTE (RF 2024)Anteil der echten Podiumsfahrer,die im prognostizierten Top-3 lagenTop 10 wird hier NICHT berechnet
K4-K7
K14b NEU|positionOrder -> true_top3|Vergleichsspalte Baseline 1b (2026)
Rule Engine
K13b NEU|BASELINE 1b als Klasse:|grid kleiner gleich 3 -> TOP3 (2026)
Rule Engine
B7Sum(points) - points= career_points_before(aktuelles Rennen abgezogen)
Math Formula
K8BASELINE 1a quali_pos, 2026MAE 3,803 / R2 0,239
Numeric Scorer
Kontrolle MerkmalsanzahlNach dem Entfernen der Pitstop-Merkmalemuessen hier 12 Zeilen stehen(60 vor der Typkonvertierung, 14 danach)
Table View
C1Auf V6-Hybrid-Aera ab 2014 eingrenzen(Karriere-Features wurdenbewusst vorher berechnet)
Row Filter
K8BASELINE 1a quali_pos, Validierung 2024MAE 2,856 / R2 0,491
Numeric Scorer
K15bKappa Baseline 1b (Startplatz) 2026Kappa 0,528
Scorer
B5Kumulierte Punktsummeueber die gesamte Karriere
Moving Aggregator
K8BASELINE 2 Vorjahres-WM, Validierung 2024MAE 4,242 / R2 0,098
Numeric Scorer
B6Schleife schliessen
Loop End
D1Zweite Kopie der races-Tabellefuer den Round-Offset
Column Filter
K8BASELINE 1a quali_pos, Kontrolle TrainingMAE 3,654 / R2 0,237
Numeric Scorer
D2round + 1LEAKAGE-SCHUTZ: verschiebt dieTabelle um genau ein Rennen
Math Formula
K8BASELINE 2 Vorjahres-WM, 2026MAE 5,833 / R2 -0,342
Numeric Scorer
C2Qualifying anfuegen (Left Join,damit Fahrer ohne Quali bleiben)
Joiner
K8BASELINE 1a quali_pos, Test 2025MAE 3,317 / R2 0,315
Numeric Scorer
C3position -> quali_pos
Column Renamer
K8BASELINE 2 Vorjahres-WM, Kontrolle TrainingMAE 4,974 / R2 -0,219
Numeric Scorer
K8BASELINE 2 Vorjahres-WM, Test 2025MAE 5,050 / R2 -0,371
Numeric Scorer
D4prev_raceId je Rennen zuordnen(Left Join: Saisonauftakthat kein Vorrennen)
Joiner
D5Fahrer-WM-Stand NACH demVorrennen anbinden
Joiner
J2RF anwenden auf 2026
Random Forest Predictor (Regression)
D3raceId -> prev_raceId
Column Renamer
J4XGBoost anwenden auf 2026
XGBoost Predictor (Regression)
D8-> con_pts_before,con_std_pos_before
Column Renamer
K3MAE und R2 (XGBoost 2026)MAE 4,232 / R2 0,140
Numeric Scorer
D9drv_pts_before / (con_pts_before + 1)= drv_share_of_con_pts(Fahreranteil am Teamergebnis)
Math Formula
K1Nach raceId und Vorhersagewertsortieren (XGBoost 2026)
Sorter
D6-> drv_pts_before,drv_std_pos_before, drv_wins_before
Column Renamer
K4TOP-3-TREFFERQUOTE (XGBoost 2026)Anteil der echten Podiumsfahrer,die im prognostizierten Top-3 lagenTop 10 wird hier NICHT berechnet
K4-K7
D7Team-WM-Stand NACH demVorrennen anbinden
Joiner
K2Rang je Rennen = pred_rank(XGBoost 2026)
Rank
E3Endstand der Saison herausziehen
Joiner
K3MAE und R2 (RF 2026)MAE 4,000 / R2 0,229
Numeric Scorer
K1Nach raceId und Vorhersagewertsortieren (RF 2026)
Sorter
E1driver_standings + racesfuer die Saisonzuordnung
Joiner
K4TOP-3-TREFFERQUOTE (RF 2026)Anteil der echten Podiumsfahrer,die im prognostizierten Top-3 lagenTop 10 wird hier NICHT berechnet
K4-K7
E2Letztes Rennen je Saisonbestimmen (max round)
GroupBy
K2Rang je Rennen = pred_rank(RF 2026)
Rank
I1TRAINING: year kleiner gleich 2023(4.147 Zeilen)
Row Splitter
I2VALIDIERUNG: year = 2024(479 Zeilen)
Row Splitter
H1grid = 0 oder fehlend -> 24(Boxengassenstart ist schlechterals jeder regulaere Startplatz)
Rule Engine
H2Strafwerte je Spalte: quali_pos 21,Punkte und Siege 0, Fahrer-WM 21,Konstrukteurs-WM 12, Vorjahres-WM 21Pitstop-Merkmale: keine Imputation mehr
Missing Value
I2vValidierung 2024 ansehen
Table View
K11Konfusionsmatrix + Cohens KappaXGBoost 2024: Kappa 0,559
Scorer
I1vTraining 2014-2023 ansehen
Table View
I3TEST: year = 2025 (479 Zeilen)Rest-Ausgang = 2026 (198 Zeilen)
Row Splitter
K11Konfusionsmatrix + Cohens KappaRF 2025: Kappa 0,722
Scorer
K11Konfusionsmatrix + Cohens KappaRF 2024: Kappa 0,559
Scorer
K11Konfusionsmatrix + Cohens KappaRF 2026: Kappa 0,528
Scorer
K11Konfusionsmatrix + Cohens KappaXGBoost 2025: Kappa 0,706
Scorer
I3vTest 2025 ansehen
Table View
I4vSonderfall 2026:laufende Saison ansehen
Table View
K11Konfusionsmatrix + Cohens KappaXGBoost 2026: Kappa 0,442
Scorer
J1RANDOM FOREST lernen300 Baeume, Tiefe 8, Seed 123Bootstrap: Ziehen MIT Zuruecklegen12 Merkmale (Pitstop entfernt)
Random Forest Learner (Regression)
J3XGBOOST lernen300 Runden, eta 0,03, Tiefe 3, Seed 12312 Merkmale (Pitstop entfernt)
XGBoost Tree Ensemble Learner (Regression)
J4XGBoost anwenden auf Validierung 2024
XGBoost Predictor (Regression)
A10qualifying aufraceId, driverId, position
Column Filter
J2RF anwenden auf Test 2025
Random Forest Predictor (Regression)
J2RF anwenden auf Validierung 2024
Random Forest Predictor (Regression)
A13pit_stops aufraceId, driverId, milliseconds
Column Filter
A14drivers auf driverId, dob
Column Filter
A11driver_standings auf raceId,driverId, points, position, wins
Column Filter
J4XGBoost anwenden auf Test 2025
XGBoost Predictor (Regression)
A12constructor_standings auf raceId,constructorId, points, position
Column Filter
A16results + races ueber raceId= Basistabelle je Fahrer und Rennen
Joiner
B1Chronologisch sortierennach date, dann raceId
Sorter
A15grid von String zu Integer(Missing sind als Backslash-N kodiert)
String Manipulation

Nodes

Extensions

Links