σμ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 AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • 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 AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours scikit-learn›Module 4 · Structure et compréhension›Sujet 4.6·~45 minAvancé

Joblib pour les tâches, les caches et les modèles sauvegardés

Position dans le parcoursModule 4 sur 4 · Sujet 6 sur 7
4.6 Joblib pour les tâches, les caches et les modèles sauvegardés
—Score du lab— / 100XP total—Série—

Faire le travail une fois, et pouvoir le prouver

La recherche se répète : la même grille de réglages sur les mêmes plis, le même tableau de variables reconstruit pour chaque expérience. joblib supprime ce gaspillage. Parallel(n_jobs=k)(delayed(f)(x) for x in items) exécute les appels indépendants f(x) sur k travailleurs et renvoie les résultats dans l'ordre des éléments ; n_jobs=-1 utilise tous les cœurs et n_jobs=1 les exécute l'un après l'autre, ce que fait un navigateur. Le coût d'une tâche doit dépasser celui de l'envoi de ses données à un travailleur, donc regroupez les tâches minuscules. Une recherche sur grille s'y prête parfaitement : 5 alphas fois 5 plis glissants font 25 ajustements indépendants, et la réponse ne dépend pas du nombre de travailleurs qui les ont exécutés.

Memory(location).cache(f) enveloppe f dans un cache disque. Le premier appel avec certains arguments exécute f et stocke le résultat sous un hachage des arguments ; l'appel suivant avec les mêmes arguments lit le fichier. Le cache survit à la fin du programme et remarque quand f ou un argument change. Hachez des tableaux NumPy plutôt que des DataFrames : le hachage d'un DataFrame peut dépendre de sa disposition mémoire interne, donc deux tables de contenu égal peuvent avoir des hachages différents, et le cache échoue alors. joblib.hash(array) est une empreinte du contenu : égale pour une copie, différente après tout changement, ce qui prouve que deux expériences ont utilisé les mêmes données. Enfin joblib.dump(model, path, compress=3) écrit un modèle ajusté dans un fichier compressé et joblib.load(path) rend un objet qui prédit exactement pareil. Dans le lab, 25 tâches donnent des corrélations de rang glissantes à moins de 0,06 de zéro pour chaque alpha, slow_features s'exécute une fois pour deux appels en cache, et le Ridge rechargé prédit à l'identique.

  • Les tâches indépendantes passent par Parallel et delayed ; la réponse ne doit pas dépendre de n_jobs.
  • Memory.cache range les résultats sur disque selon un hachage des arguments ; passez des tableaux, pas des tables.
  • joblib.hash prouve que deux exécutions ont utilisé les mêmes données ; dump et load sauvegardent un modèle qui prédit à l'identique.

Lab : ce qui est noté

  • Une tâche de pli15 pts
  • La grille de tâches25 pts
  • Le cache disque15 pts
  • L'empreinte10 pts
  • Sauvegarder un modèle15 pts
  • L'étude20 pts
Explorateur · lab-sl-24
▾ lab-sl-24
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-sl-24$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-sl-24 revient aux fichiers de départ et le terminal est vidé. Votre solution actuelle sera perdue : cette action est irréversible.

Sera réinitialisé
  • main.py → code de départ
  • Historique du terminal et sortie des tests
  • Modifications non soumises
Sera conservé
  • Meilleur score du lab
  • Votre XP et votre série
  • Progression du cours et notes

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub