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

Vytvoření trénovacích a testovacích příznaků

Než přistoupíme k trénování lineárního modelu, přidáme k příznakům konstantu – díky tomu bude mít model intercept.

Dále rozdělíme data na trénovací a testovací sadu. Model natrénujeme na trénovacích datech a jeho výkon ověříme na testovacích. Vždy je důležité hodnotit model na datech, která dosud neviděl – jinak riskujeme overfitting, tedy příliš přesné zapamatování vzorů v trénovacích datech.

U časových řad je zvykem používat nejstarší data jako trénovací sadu a nejnovější jako testovací. Díky tomu model hodnotíme na aktuálních datech, což realističtěji simuluje predikce na dosud neviděných datech.

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

Machine Learning for Finance in Python

Zobrazit kurz

Pokyny k cvičení

  • Importuj knihovnu statsmodels.api s aliasem sm.
  • Přidej konstantu k proměnné features pomocí funkce .add_constant() ze statsmodels.
  • Nastav train_size na 85 % celkového počtu datových bodů (počtu řádků) pomocí vlastnosti .shape[0] proměnné features nebo targets.
  • Rozděl linear_features a targets na trénovací a testovací sady pomocí train_size a indexování v Pythonu (např. [start:stop]).

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 the statsmodels.api library with the alias sm
___

# Add a constant to the features
linear_features = sm.____(features)

# Create a size for the training set that is 85% of the total number of samples
train_size = int(0.85 * ____)
train_features = linear_features[:train_size]
train_targets = targets[____]
test_features = linear_features[train_size:]
test_targets = targets[train_size:]
print(linear_features.shape, train_features.shape, test_features.shape)
Upravit a spustit kód