外部データセットでのテスト¶
外部テストデータセットの指標スコアとインサイトを計算することで、デプロイ前にモデルのパフォーマンスとその一般化機能を検証できます。 トレーニング中に見たことがない(「外部」)データに対してモデルを評価すると、モデルが実際のシナリオでどの程度適切かつ一貫して実行されるかについてのインサイトが得られます。 なお、このテストは時系列モデルではできません。
外部のスコアとインサイトをリクエストする¶
To compute scores and insights on a dataset:
- ターゲット列(
PredictionDataset.contains_target_values == True)を含む予測データセットをアップロードします。 - データセットは元のプロジェクトデータと同じ構造である必要があります。
import datarobot as dr
# Upload dataset
project = dr.Project(project_id)
dataset = project.upload_dataset('./test_set.csv')
dataset.contains_target_values
>>>True
# request external test to compute metric scores and insights on dataset
# select model using project.get_models()
external_test_job = model.request_external_test(dataset.id)
# once job is complete, scores and insights are ready for retrieving
external_test_job.wait_for_completion()
外部の指標スコアとインサイトを取得する¶
外部テストジョブの完了後、外部テストセットの指標スコアとインサイトを確認できます。
備考
備考:
PredictionDataset.data_quality_warningsでデータセットに関する警告がないか確認します。- データセットが10行未満の場合、インサイトは提供されません。
- データセットのターゲット列にクラスが1つしかない場合は、ROC曲線を計算できません。
外部指標のスコアを取得する¶
import datarobot as dr
# retrieving list of external metric scores on multiple datasets
metric_scores_list = dr.ExternalScores.list(project_id, model_id)
# retrieving external metric scores on one dataset
metric_scores = dr.ExternalScores.get(project_id, model_id, dataset_id)
外部のリフトチャートを取得する¶
import datarobot as dr
# retrieving list of lift charts on multiple datasets
lift_list = dr.ExternalLiftChart.list(project_id, model_id)
# retrieving one lift chart for dataset
lift = dr.ExternalLiftChart.get(project_id, model_id, dataset_id)
外部の多クラスリフトチャートを取得する¶
多クラス分類モデルでのみ実行できます。
import datarobot as dr
# retrieving list of lift charts on multiple datasets
lift_list = ExternalMulticlassLiftChart.list(project_id, model_id)
# retrieving one lift chart for dataset and a target class
lift = ExternalMulticlassLiftChart.get(project_id, model_id, dataset_id, target_class)
外部ROC曲線の取得¶
二値分類モデルでのみ実行できます。
import datarobot as dr
# retrieving list of roc curves on multiple datasets
roc_list = ExternalRocCurve.list(project_id, model_id)
# retrieving one ROC curve for dataset
roc = ExternalRocCurve.get(project_id, model_id, dataset_id)
多クラス混同行列の取得¶
多クラス分類モデルでのみ実行できます。
import datarobot as dr
# retrieving list of confusion charts on multiple datasets
confusion_list = ExternalConfusionChart.list(project_id, model_id)
# retrieving one confusion chart for dataset
confusion = ExternalConfusionChart.get(project_id, model_id, dataset_id)
残差チャートの取得¶
連続値モデルでのみ実行できます。
import datarobot as dr
# retrieving list of residuals charts on multiple datasets
residuals_list = ExternalResidualsChart.list(project_id, model_id)
# retrieving one residuals chart for dataset
residuals = ExternalResidualsChart.get(project_id, model_id, dataset_id)