Začněte nyníZačněte zdarma

Křížová validace s náhodným mícháním

Křížová validace je proces, při kterém opakovaně rozdělíš data na trénovací a testovací sady — pokaždé s jiným rozdělením. V tomto cvičení provedeš tradiční křížovou validaci pomocí ShuffleSplit na datech o hodnotě společností z předchozí části. Později se podíváme na to, co je potřeba upravit pro práci s časovými řadami. Budeme pracovat se stejnými historickými cenovými daty několika velkých společností.

V pracovním prostředí máš k dispozici instanci objektu lineární regrese (model) a funkci r2_score() pro hodnocení modelu. Data jsou uložena v polích X a y. K dispozici je také pomocná funkce (visualize_predictions()), která ti pomůže vizualizovat výsledky.

Toto cvičení je součástí kurzu

Machine Learning pro data časových řad v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Inicializuj objekt křížové validace ShuffleSplit s 10 rozděleními.
  • Iteruj přes rozdělení křížové validace pomocí tohoto objektu. V každé iteraci:
    • Natrénuj model na trénovacích indexech.
    • Vygeneruj předpovědi pomocí testovacích indexů, ohodnoť model (\(R^2\)) na základě předpovědí a ulož výsledky.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Import ShuffleSplit and create the cross-validation object
from sklearn.model_selection import ShuffleSplit
cv = ____(____, random_state=1)

# Iterate through CV splits
results = []
for tr, tt in cv.____(X, y):
    # Fit the model on training data
    ____(X[tr], y[tr])
    
    # Generate predictions on the test data, score the predictions, and collect
    prediction = ____(X[tt])
    score = r2_score(____, ____)
    results.append((prediction, score, tt))

# Custom function to quickly visualize predictions
visualize_predictions(results)
Upravit a spustit kód