Inizia subitoInizia gratis

Crea le feature di train e test

Prima di adattare il nostro modello lineare, vogliamo aggiungere una costante alle feature, così da avere un intercetta nel modello lineare.

Vogliamo anche creare le feature di train e di test. In questo modo possiamo adattare il modello al dataset di train e valutarne le prestazioni sul dataset di test. Controlliamo sempre le prestazioni su dati che il modello non ha visto, per assicurarci di non fare overfitting, cioè memorizzare troppo alla lettera i pattern presenti nei dati di training.

Con una serie temporale come questa, in genere usiamo i dati più vecchi come training set e i dati più recenti come test set. Così possiamo valutare le prestazioni del modello sui dati più aggiornati, simulando in modo più realistico le previsioni su dati che non abbiamo ancora visto.

Questo esercizio fa parte del corso

Machine Learning per la finanza in Python

Visualizza corso

Istruzioni dell'esercizio

  • Importa la libreria statsmodels.api con l'alias sm.
  • Aggiungi una costante alla variabile features usando la funzione .add_constant() di statsmodels.
  • Imposta train_size come l'85% del numero totale di datapoint (numero di righe) usando la proprietà .shape[0] di features o targets.
  • Suddividi linear_features e targets in train e test set usando train_size e l'indicizzazione Python (ad es. [start:stop]).

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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)
Modifica ed esegui il codice