Aan de slagBegin gratis

Cross-validatie zonder shufflen

Voer je modelfit nu opnieuw uit met block cross-validatie (zonder alle datapunten te shufflen). In dit geval blijven naburige tijdspunten dicht bij elkaar. Hoe denk je dat de modelvoorspellingen eruitzien in elke cross-validatielus?

Een instantie van het Linear regression-model object is beschikbaar in je werkruimte. Ook de arrays X en y (trainingsdata) zijn beschikbaar.

Deze oefening maakt deel uit van de cursus

Machine Learning voor tijdreeksgegevens in Python

Bekijk cursus

Oefeninstructies

  • Maak nog een cross-validation-object aan, dit keer met KFold cross-validatie met 10 splits en zonder shufflen.
  • Itereer hierover om een model te fitten met de trainingsindices en genereer voorspellingen met de testindices.
  • Visualiseer de voorspellingen over de CV-splits met de hulpfunctie (visualize_predictions()) die we hebben meegeleverd.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Create KFold cross-validation object
from sklearn.model_selection import KFold
cv = ____(n_splits=____, shuffle=____)

# Iterate through CV splits
results = []
for tr, tt in cv.split(X, y):
    # Fit the model on training data
    model.fit(____)
    
    # Generate predictions on the test data and collect
    prediction = model.predict(____)
    results.append((prediction, tt))
    
# Custom function to quickly visualize predictions
visualize_predictions(results)
Code bewerken en uitvoeren