σμ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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • 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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
scikit-learn スキル›モジュール 4 · 構造と洞察›トピック 4.6·~45 分上級

ジョブ、キャッシュ、保存モデルのためのjoblib

スキル上の位置モジュール 4/4 · トピック 6/7
4.6 ジョブ、キャッシュ、保存モデルのためのjoblib
—ラボスコア— / 100合計XP—連続日数—

仕事は一度だけ行い、証明できるようにする

研究は繰り返されます。同じ設定のグリッドを同じフォールドで試し、同じ特徴量テーブルを実験のたびに作り直します。joblib はその無駄を省きます。Parallel(n_jobs=k)(delayed(f)(x) for x in items) は独立した呼び出し f(x) を k 個のワーカーで実行し、要素の順に結果を返します。n_jobs=-1 は全コアを使い、n_jobs=1 は順番に実行します(ブラウザはこちら)。ジョブのコストはワーカーへデータを送るコストより大きくなければならないので、小さすぎるジョブはまとめます。グリッド探索はぴったりです。5 個のalphaと 5 個の時系列フォールドで独立な当てはめが 25 回あり、結果は何個のワーカーが実行したかに依存しません。

Memory(location).cache(f) は f をディスクキャッシュで包みます。ある引数での最初の呼び出しは f を実行して結果を引数のハッシュの下に保存し、同じ引数での次の呼び出しはファイルを読みます。キャッシュはプログラムの終了後も残り、f や引数が変わると気づきます。DataFrameではなくNumPy配列をハッシュしてください。DataFrameのハッシュは内部のメモリ配置に依存することがあり、内容が等しい2つの表が異なるハッシュになってキャッシュが外れます。joblib.hash(array) は内容の指紋で、コピーでは等しく、少しでも変わると異なり、2つの実験が同じデータを使ったことの証明になります。最後に joblib.dump(model, path, compress=3) は当てはめたモデルを圧縮ファイルに書き、joblib.load(path) はまったく同じ予測をするオブジェクトを返します。ラボでは25個のジョブがどのalphaでも零から 0.06 以内の時系列順位相関を与え、slow_features はキャッシュされた2回の呼び出しで1回だけ実行され、読み込み直したRidgeは同一の予測をします。

  • 独立なジョブは Parallel と delayed で実行する。答えは n_jobs に依存してはならない。
  • Memory.cache は引数のハッシュをキーに結果をディスクへ保存する。表ではなく配列を渡す。
  • joblib.hash は2回の実行が同じデータを使った証拠になり、dump と load は同一の予測をするモデルを保存する。

ラボ:採点される内容

  • フォールド1つのジョブ15点
  • ジョブのグリッド25点
  • ディスクキャッシュ15点
  • 指紋10点
  • モデルの保存15点
  • 研究20点
エクスプローラー · lab-sl-24
▾ lab-sl-24
▾ data
…
bash · ブラウザ内
learner@quantcraft:~/lab-sl-24$
Pythonは未読み込みPythonLn 1, Col 1Spaces: 4UTF-8

このトピックをリセットしますか?

lab-sl-24 の内容はすべてスターターファイルに戻り、ターミナルも消去されます。現在の解答は失われ、元に戻せません。

リセットされるもの
  • main.py → スターターコード
  • ターミナル履歴とテスト出力
  • 未提出の変更
保持されるもの
  • ラボの最高スコア
  • XPと連続日数
  • 講義の進捗とメモ

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける