DVCによるデータバージョニング入門
Ravi Bhadauria
Machine Learning Engineer
再現可能: 環境や時期が変わっても同じ出力を再現
モジュール化: 独立・検証可能なモジュールで構成
一貫性: すべてのパラメータの単一の情報源

ファイルはサポート形式で用意
params.yaml本講座では YAML を使用
.yaml または .yml が有効パラメータは辞書(マップ)で指定
: で区切るコメントは # から
データ型
データ構造
インデントが重要
# Key-value pairs
a: 1
b: 1.2
c: "String value"
# Arrays
a: [1, 2.2, 3, 4.8]
b:
- 5
- "String value"
# Nested dictionaries
a:
b: "Some value"
c: "Some other value"
# データ前処理のパラメータ preprocess: ... target_column: RainTomorrow categorical_features: - Location - WindGustDir - ...# モデルの学習/評価パラメータ train_and_evaluate: rfc_params: n_estimators: 2 ...
# model.py 内
def evaluate_model(model, X_test, y_test):
"""テストデータでモデルを評価し、指標を返す。"""
y_pred = model.predict(X_test)
precision = precision_score(y_test, y_pred)
...
return { "accuracy": accuracy, "precision": precision,
"recall": recall, "f1_score": f1 }
# エントリポイントコード(train_and_evaluate.py)
from model import evaluate_model
metrics = evaluate_model(model, X_test, y_test)

DVCによるデータバージョニング入門