モデルの信頼性

本番環境向けのMachine Learningモデル開発

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

MLモデルとビジネス影響指標の整合

  • ビジネス影響指標はMLが事業へ与える影響を測定
    • 例: 収益、コスト削減、顧客満足度(CSAT)
  • モデル指標と整合させる
    • 例: 解約予測 → 収益
    • 例: 製造の保全予測 → コスト削減
    • 例: チャットボットの意図認識精度 → CSAT

グラフが上昇

本番環境向けのMachine Learningモデル開発

MLパイプラインのテスト手順

  • ユニットテスト: 個々のコンポーネントを検証
    • 例: PCAが期待どおりの特徴数を返すか
  • 統合テスト: パイプライン全体を検証
    • 例: 入力前処理→モデル予測→出力後処理が正しい
  • スモークテスト: 動作確認のための簡易テスト
    • 例: 少数のサンプル画像を正しく分類できるか
  • 早期かつ高頻度でテスト
    • 例: 新データ入手後すぐに評価
本番環境向けのMachine Learningモデル開発

ユニットテスト例

def test_pipeline():
    # Generate mock data for testing
    X_train = pd.DataFrame({'age': [25, 30, 35, 40], 'income': [50000, 60000, 70000, 80000])
    y_train = pd.Series([0, 0, 1, 1])

    pipeline = Pipeline([('preprocessing', DataPreprocessor()),  # Set up pipeline
                         ('model', LogisticRegression())])
    pipeline.fit(X_train, y_train)  # Fit pipeline on training data

    # Generate mock data for testing
    X_test = pd.DataFrame({'age': [30, 35, 40, 45], 'income': [55000, 65000, 75000, 85000])
    y_test = pd.Series([0, 0, 1, 1])
    y_pred = pipeline.predict(X_test)  
    accuracy = accuracy_score(y_test, y_pred)  # Evaluate pipeline on test data

    assert accuracy > 0.8, "Error: pipeline accuracy is too low."
本番環境向けのMachine Learningモデル開発

モデルの陳腐化の監視

  • モデルの陳腐化: 時間とともに性能が低下
    • データや環境の変化が原因
  • 継続的モニタリング!

困惑したロボット

本番環境向けのMachine Learningモデル開発

モデルの陳腐化の特定と対処

特定

  • モデル性能をモニタリング
  • データ・環境の変化を監視

対処

  • 新データで再学習
    • 例: 新しい特徴量の追加が必要
  • 環境変化に合わせてデータパイプラインを更新
    • 例: 分析基盤の変更でパイプラインが混乱
本番環境向けのMachine Learningモデル開発

練習しましょう!

本番環境向けのMachine Learningモデル開発

Preparing Video For Download...