LoslegenKostenlos starten

Trainings- und Test-Features erstellen

Bevor wir unser lineares Modell fitten, fügen wir unseren Features eine Konstante hinzu, damit unser lineares Modell einen Achsenabschnitt (Intercept) hat.

Außerdem wollen wir Trainings- und Test-Features erstellen. So können wir unser Modell auf den Trainingsdatensatz fitten und die Leistung auf dem Testdatensatz bewerten. Wir prüfen die Performance immer auf Daten, die das Modell noch nicht gesehen hat, um sicherzustellen, dass wir nicht überanpassen – also Muster im Training zu exakt auswendig lernen.

Bei einer Zeitreihe wie dieser verwenden wir typischerweise die ältesten Daten als Trainingsset und die neuesten Daten als Testset. So können wir die Leistung des Modells auf den aktuellsten Daten bewerten, was Vorhersagen auf noch unbekannten Daten realistischer simuliert.

Diese Übung ist Teil des Kurses

<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Importiere die Bibliothek statsmodels.api mit dem Alias sm.
  • Füge der Variablen features mit der .add_constant()-Funktion von statsmodels eine Konstante hinzu.
  • Setze train_size auf 85 % der Gesamtzahl der Datenpunkte (Zeilenanzahl) mithilfe der Eigenschaft .shape[0] von features oder targets.
  • Teile linear_features und targets mit train_size und Python-Indizierung (z. B. [start:stop]) in Trainings- und Testsets auf.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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)
Code bearbeiten und ausführen