性能推定

Pythonで学ぶ機械学習のモニタリング

Hakim Elakhrass

Co-founder and CEO of NannyML

アルゴリズム

  • CBPE - 信頼度に基づく性能推定
  • DLE - 直接損失推定
Pythonで学ぶ機械学習のモニタリング

直接損失推定

  • 回帰タスクで使用
  • 監視対象モデルの損失関数を推定
  • LGBMを「追加」モデルとして使用
  • NannyMLはMAE、MSE、RMSEなどの回帰指標をサポート

 

この図はDLEの流れを示す。まず本番データから予測と特徴で分析セットを作成し、追加モデルで性能を予測する。

Pythonで学ぶ機械学習のモニタリング

DLE - コード実装

# Initialize the DLE algorithm
estimator = nannyml.DLE(
    y_true='target',
    y_pred='y_pred',
    metrics=['rmse'],
    timestamp_column_name='timestamp',
    chunk_period='d'
    feature_column_names=features,
    tune_hyperparameters=False
)
# Fit the algorithm
estimator.fit(reference)
results = estimator.estimate(analysis)
Pythonで学ぶ機械学習のモニタリング

信頼度に基づく性能推定

  • 二値・多クラス分類で使用

  • 信頼度スコアから混同行列を推定

  • 任意の分類指標を推定可能

 

この図はCBPEの流れを示す。分析セットをCBPEに渡し混同行列を推定し、その行列から他の分類指標を算出する。

Pythonで学ぶ機械学習のモニタリング

CBPE - コード実装

# Initialize the CBPE algorithm
estimator = nannyml.CBPE(
    y_pred_proba='y_pred_proba',
    y_pred='y_pred',
    y_true='targets',
    timestamp_column_name='timestamp',
    metrics=['roc_auc'],
    chunk_period='d',
    problem_type='classification_binary',
)
# Fit the algorithm
estimator.fit(reference)
results = estimator.estimate(analysis)
Pythonで学ぶ機械学習のモニタリング

結果

results.plot().show()

結果のプロットは、時間経過に伴う推定RMSEを示す。

Pythonで学ぶ機械学習のモニタリング

練習してみましょう!

Pythonで学ぶ機械学習のモニタリング

Preparing Video For Download...