ÎncepețiÎncepe gratuit

Creează caracteristicile de antrenament și de testare

Înainte de a antrena modelul liniar, vrem să adăugăm o constantă caracteristicilor, astfel încât modelul să aibă un intercept.

De asemenea, vrem să creăm seturi de caracteristici pentru antrenament și pentru testare. Astfel, putem antrena modelul pe setul de antrenament și îi evaluăm performanța pe setul de testare. Este important să verificăm întotdeauna performanța pe date pe care modelul nu le-a văzut, pentru a ne asigura că nu apare supraadaptarea (overfitting) – adică memorarea prea exactă a tiparelor din datele de antrenament.

În cazul unei serii de timp ca aceasta, de obicei folosim cele mai vechi date ca set de antrenament și cele mai recente ca set de testare. Astfel, evaluăm performanța modelului pe datele cele mai recente, ceea ce simulează mai realist predicțiile pe date nevăzute.

Acest exercițiu face parte din cursul

Machine Learning pentru finanțe în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă biblioteca statsmodels.api cu aliasul sm.
  • Adaugă o constantă variabilei features folosind funcția .add_constant() din statsmodels.
  • Setează train_size la 85% din numărul total de puncte de date (numărul de rânduri), folosind proprietatea .shape[0] a variabilei features sau targets.
  • Împarte linear_features și targets în seturi de antrenament și de testare folosind train_size și indexarea Python (de ex. [start:stop]).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul