Der Estimator-Vertrag
Jedes scikit-learn-Modell folgt einem Vertrag, und dieser Vertrag macht Modelle austauschbar, verkettbar und abstimmbar. __init__ speichert nur die erhaltenen Parameter unter denselben Namen, ohne Prüfungen und Berechnungen: Nur so funktionieren get_params, set_params und clone. fit(X, y) lernt aus den Daten, legt das Gelernte in Attributen ab, die auf einen Unterstrich enden (coef_, intercept_, n_features_in_), und gibt self zurück, damit sich Aufrufe verketten lassen. predict(X) ruft zuerst check_is_fitted auf, das NotFittedError auslöst, wenn fit nicht lief, prüft dann X mit check_array und wendet das Gelernte an. Erben Sie von BaseEstimator für die Parameterverwaltung und von RegressorMixin für eine kostenlose score-Methode (das Mixin zuerst).
Das Modell in diesem Labor ist die Ridge-Regression. Mit zentrierten Daten löst sie (XᵀX+αI) w=Xᵀy, und der Achsenabschnitt ist ȳ-x̄·w. Ein größeres α schrumpft die Koeffizienten gegen null, eine gute Gewohnheit bei verrauschten verzögerten Renditen. Weil Ihre Klasse den Vertrag einhält, akzeptieren make_pipeline(StandardScaler(), ShrinkageRegressor()), cross_val_score und GridSearchCV sie, und clone(model) liefert eine frische, ungefittete Kopie. Das ist bei einer Walk-forward-Auswertung wichtig: Fitten Sie auf jedem Trainingsfenster einen Klon, nie das Modell selbst, sonst sickert Information eines Folds in den nächsten. Die Note einer Renditeprognose ist die Spearman-Rangkorrelation zwischen Prognosen und Ergebnissen auf den Testzeilen, der Information Coefficient.
- Parameter hinein, gelernte Attribute heraus:
__init__speichert,fitlernt in Namen mit Unterstrich am Ende und gibtselfzurück. - Vor dem Vorhersagen prüfen:
check_is_fittedundcheck_arrayliefern die Standardfehler, die Pipelines und Nutzer erwarten. - Einen Klon fitten: In einer Walk-forward-Schleife hält
clone(model).fit(...)die Folds unabhängig.
Lab: Was bewertet wird
- Verzögerte Merkmale10 Pkt.
- Ridge aus den Normalgleichungen15 Pkt.
- Der Konstruktor10 Pkt.
- Fitten und vorhersagen20 Pkt.
- Mit Pipeline und GridSearchCV arbeiten10 Pkt.
- Eine Walk-forward-Rangkorrelation15 Pkt.
- Sagt die Vergangenheit von SPY den nächsten Tag voraus?20 Pkt.