σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
scikit-learn-Skill›Modul 1 · Arbeiten mit Estimatoren›Thema 1.4·~50 Min.Mittelstufe

Eigene Transformer und Spalten-Pipelines

Position in der SkillModul 1 von 4 · Thema 4 von 5
1.4 Eigene Transformer und Spalten-Pipelines
—Lab-Punkte— / 100XP gesamt—Serie—

In fit lernen, in transform anwenden

Ein Transformer ist ein Estimator mit einer zweiten Aufgabe. fit(X) lernt Zahlen aus den Daten (einen Mittelwert, ein Quantil, ein Vokabular), legt sie in Attributen ab, die auf einen Unterstrich enden, und gibt self zurück. transform(X) wendet diese gespeicherten Zahlen dann auf beliebige Daten an, neue oder alte, ohne sie anzusehen, um etwas zu entscheiden. Diese Trennung ist der ganze Sinn: Die Zahlen werden einmal auf den Trainingszeilen gelernt, die Testzeilen werden nur transformiert. Ein Winsorizer ist ein gutes erstes Beispiel. fit lernt je Spalte ein unteres und ein oberes Quantil, und transform kappt mit np.clip dazwischen. Würde transform die Quantile auf den erhaltenen Daten neu berechnen, würde jeder Datensatz auf seinen eigenen Bereich gekappt und die Trainingsinformation käme nie im Test an. Erben Sie von TransformerMixin und BaseEstimator, und fit_transform und die Parametermechanik gibt es gratis.

Echte Tabellen mischen Zahlen und Kategorien, daher bietet scikit-learn ColumnTransformer([(Name, Transformer, Spalten), ...]): Jeder Zweig bearbeitet seine Spalten, die Ausgaben werden nebeneinander geklebt. Hier ist der numerische Zweig make_pipeline(Winsorizer(0.02, 0.98), StandardScaler()) und der kategoriale OneHotEncoder(handle_unknown='ignore'), der eine unbekannte Kategorie in eine Nullzeile statt in einen Fehler verwandelt. sparse_threshold=0 erzwingt ein dichtes Array. Um die Ausgabespalten zu benennen, muss jeder Schritt get_feature_names_out beantworten, weshalb Ihr Winsorizer es implementieren muss: Er gibt die erhaltenen Namen zurück. Die goldene Regel lautet: fit_transform auf den Trainingszeilen, nur transform auf den Testzeilen. Im Aktienpanel (26 Symbole, 10.296 Zeilen) lässt der Schnitt am 1. Januar 2023 5.564 Trainings- und 4.732 Testzeilen übrig, und etwa 2,2 % der Test-Momentumwerte liegen außerhalb des 2-%–98-%-Bereichs des Trainings und werden auf die Trainingsgrenzen gekappt.

  • Einmal lernen, überall anwenden: fit speichert Zahlen aus den Trainingszeilen, transform wendet sie nur an.
  • Ein Preprozessor, zwei Zweige: ColumnTransformer schickt Zahlen und Kategorien in eigene Schritte; handle_unknown="ignore" übersteht neue Kategorien.
  • Den ganzen Vertrag umsetzen: Ein Transformer, der seine Ausgabespalten nicht benennen kann, bricht get_feature_names_out für die ganze Pipeline.

Lab: Was bewertet wird

  • Der Konstruktor5 Pkt.
  • Fit und Transform20 Pkt.
  • Merkmalsnamen und Pipelines10 Pkt.
  • Der zweizweigige Preprozessor15 Pkt.
  • Nach Datum teilen10 Pkt.
  • Nur auf der Vergangenheit fitten10 Pkt.
  • Die Panel-Studie30 Pkt.
Explorer · lab-sl-14
▾ lab-sl-14
▾ data
…
bash · im Browser
learner@quantcraft:~/lab-sl-14$
Python noch nicht geladenPythonLn 1, Col 1Spaces: 4UTF-8

Dieses Thema zurücksetzen?

Alles in lab-sl-14 wird auf die Startdateien zurückgesetzt und das Terminal geleert. Ihre aktuelle Lösung geht verloren – das lässt sich nicht rückgängig machen.

Wird zurückgesetzt
  • main.py → Startcode
  • Terminal-Verlauf und Testausgabe
  • Nicht eingereichte Änderungen
Bleibt erhalten
  • Beste Lab-Punktzahl
  • Ihre XP und Ihre Serie
  • Vorlesungsfortschritt und Notizen

Melde dich an, um deinen Code auszuführen.

Alle Lektionen kannst du kostenlos lesen. Erstelle ein Konto oder melde dich an, um Code auszuführen, Tests zu starten und dieses Lab abzugeben.

  • IDE im Browser mit Bash-Terminal — nichts zu installieren
  • Sofortige Bewertung, XP und dein Platz auf der Skill
Konto erstellenAnmelden
ODER
Weiter mit GitHub