DataDriftDetector クラス
Azure Machine Learning でデータ ドリフト ジョブを実行するために使用可能なデータ ドリフト モニターを定義します。
DataDriftDetector クラスを使用すると、特定のベースライン データセットとターゲット データセット間のドリフトを識別できます。 DataDriftDetector オブジェクトは、ベースラインとターゲットのデータセットを直接指定することで、ワークスペースに作成されます。 詳細については、「https://aka.ms/datadrift」を参照してください。
Datadriftdetector コンストラクター。
DataDriftDetector コンストラクターは、指定されたワークスペースに関連付けられている DataDriftDetector オブジェクトのクラウド表現を取得するために使用されます。
- 継承
-
builtins.objectDataDriftDetector
コンストラクター
DataDriftDetector(workspace, name=None, baseline_dataset=None, target_dataset=None, compute_target=None, frequency=None, feature_list=None, alert_config=None, drift_threshold=None, latency=None)
パラメーター
- target_dataset
- TabularDataset
アドホックまたはスケジュールされた DataDrift ジョブのどちらかを実行するためのデータセット。 時系列にする必要があります。
- compute_target
- ComputeTarget または str
オプションの Azure Machine Learning ComputeTarget または ComputeTarget 名。 指定されなかった場合は、DataDriftDetector によってコンピューティング先が作成されます。
データ ドリフト検出を実行するためのオプションのホワイトリストに登録された特徴。 feature_list
が指定されなかった場合は、DataDriftDetector ジョブがすべての特徴で実行されます。 特徴リストには、文字、数字、ダッシュ、および空白を含めることができます。 リストの長さは 200 未満にする必要があります。
- drift_threshold
- float
DataDriftDetector アラートを有効にするためのオプションのしきい値。 この値は、0 から 1 までの値である必要があります。 None が指定された場合 (既定) は、0.2 の値が使用されます。
- compute_target
- ComputeTarget または str
オプションの Azure Machine Learning ComputeTarget または ComputeTarget 名。 指定されなかった場合は、DataDriftDetector によってコンピューティング先が作成されます。
データ ドリフト検出を実行するためのオプションのホワイトリストに登録された特徴。 feature_list
が指定されなかった場合は、DataDriftDetector ジョブがすべての特徴で実行されます。 特徴リストには、文字、数字、ダッシュ、および空白を含めることができます。 リストの長さは 200 未満にする必要があります。
- drift_threshold
- float
DataDriftDetector アラートを有効にするためのオプションのしきい値。 この値は、0 から 1 までの値である必要があります。 None が指定された場合 (既定) は、0.2 の値が使用されます。
注釈
DataDriftDetector オブジェクトは、3 つのジョブ実行の種類を実行するために使用可能なデータ ドリフト ジョブ定義を表します。
特定の日のデータを分析するための アドホック実行。run メソッドを参照してください。
パイプラインでのスケジュールされた実行。enable_schedule メソッドを参照してください。
データが時間の経過と共にどのように変化するかを確認するためのバックフィル実行。backfill メソッドを参照してください。
DataDriftDetector を作成するための一般的なパターンは、次のとおりです。
- データセットベースの DataDriftDetector オブジェクトを作成するには、create_from_datasets を使用します。
次の例では、データセットベースの DataDriftDetector オブジェクトの作成方法を示しています。
from azureml.datadrift import DataDriftDetector, AlertConfiguration
alert_config = AlertConfiguration(['user@contoso.com']) # replace with your email to recieve alerts from the scheduled pipeline after enabling
monitor = DataDriftDetector.create_from_datasets(ws, 'weather-monitor', baseline, target,
compute_target='cpu-cluster', # compute target for scheduled pipeline and backfills
frequency='Week', # how often to analyze target data
feature_list=None, # list of features to detect drift on
drift_threshold=None, # threshold from 0 to 1 for email alerting
latency=0, # SLA in hours for target data to arrive in the dataset
alert_config=alert_config) # email addresses to send alert
完全なサンプルは、https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb から入手できます
DataDriftDetector コンストラクターは、ワークスペースに関連付けられた既存のデータ ドリフト オブジェクトを取得します。
メソッド
backfill |
指定された開始日と終了日にかけて、バックフィル ジョブを実行します。 データ ドリフト バックフィル実行の詳細については、https://aka.ms/datadrift を参照してください。 注: バックフィルは、データセットベースの DataDriftDetector オブジェクト上でのみサポートされます。 |
create_from_datasets |
ベースライン表形式データセットとターゲット時系列データセットから新しい DataDriftDetector オブジェクトを作成します。 |
delete |
DataDriftDetector オブジェクトのスケジュールを削除します。 |
disable_schedule |
DataDriftDetector オブジェクトのスケジュールを無効にします。 |
enable_schedule |
データセットベースの DataDriftDetector ジョブを実行するためのスケジュールを作成します。 |
get_by_name |
特定のワークスペースと名前の一意の DataDriftDetector オブジェクトを取得します。 |
get_output |
特定の時間枠における特定の DataDriftDetector のドリフト結果とメトリックのタプルを取得します。 |
list |
指定されたワークスペースとオプションのデータセットに関する DataDriftDetector オブジェクトのリストを取得します。 注: |
run |
単一時点データ ドリフト分析を実行します。 |
show |
指定された時間範囲内のデータ ドリフト傾向を表示します。 既定で、このメソッドは最新の 10 サイクルを表示します。 たとえば、頻度が Day の場合は、最新の 10 日間になります。 頻度が Week の場合は、最新の 10 週間になります。 |
update |
DataDriftDetector オブジェクトに関連付けられたスケジュールを更新します。 オプション パラメーターの値は、 |
backfill
指定された開始日と終了日にかけて、バックフィル ジョブを実行します。
データ ドリフト バックフィル実行の詳細については、https://aka.ms/datadrift を参照してください。
注: バックフィルは、データセットベースの DataDriftDetector オブジェクト上でのみサポートされます。
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
パラメーター
- compute_target
- ComputeTarget または str
オプションの Azure Machine Learning ComputeTarget または ComputeTarget 名。 None が指定された場合は、DataDriftDetector によってコンピューティング先が作成されます。
戻り値
DataDriftDetector 実行。
の戻り値の型 :
create_from_datasets
ベースライン表形式データセットとターゲット時系列データセットから新しい DataDriftDetector オブジェクトを作成します。
static create_from_datasets(workspace, name, baseline_dataset, target_dataset, compute_target=None, frequency=None, feature_list=None, alert_config=None, drift_threshold=None, latency=None)
パラメーター
- compute_target
- ComputeTarget または str
オプションの Azure Machine Learning ComputeTarget または ComputeTarget 名。 指定されなかった場合は、DataDriftDetector によってコンピューティング先が作成されます。
データ ドリフト検出を実行するためのオプションのホワイトリストに登録された特徴。 feature_list
が指定されなかった場合は、DataDriftDetector ジョブがすべての特徴で実行されます。 特徴リストには、文字、数字、ダッシュ、および空白を含めることができます。 リストの長さは 200 未満にする必要があります。
- drift_threshold
- float
DataDriftDetector アラートを有効にするためのオプションのしきい値。 この値は、0 から 1 までの値である必要があります。 None が指定された場合 (既定) は、0.2 の値が使用されます。
戻り値
DataDriftDetector オブジェクト。
の戻り値の型 :
例外
注釈
データセットベースの DataDriftDetector を使用すると、ベースライン データセット (TabularDataset である必要がある) とターゲット データセット (時系列データセットである必要がある) 間のデータ ドリフトを計算できます。 時系列データセットは、単に、fine_grain_timestamp プロパティを持つ TabularDataset です。 その後で、DataDriftDetector は、アドホック ジョブまたはスケジュールされたジョブを実行して、ターゲット データセットがベースライン データセットからドリフトしたかどうかを判断できます。
from azureml.core import Workspace, Dataset
from azureml.datadrift import DataDriftDetector
ws = Workspace.from_config()
baseline = Dataset.get_by_name(ws, 'my_baseline_dataset')
target = Dataset.get_by_name(ws, 'my_target_dataset')
detector = DataDriftDetector.create_from_datasets(workspace=ws,
name="my_unique_detector_name",
baseline_dataset=baseline,
target_dataset=target,
compute_target_name='my_compute_target',
frequency="Day",
feature_list=['my_feature_1', 'my_feature_2'],
alert_config=AlertConfiguration(email_addresses=['user@contoso.com']),
drift_threshold=0.3,
latency=1)
delete
DataDriftDetector オブジェクトのスケジュールを削除します。
delete(wait_for_completion=True)
パラメーター
disable_schedule
DataDriftDetector オブジェクトのスケジュールを無効にします。
disable_schedule(wait_for_completion=True)
パラメーター
enable_schedule
データセットベースの DataDriftDetector ジョブを実行するためのスケジュールを作成します。
enable_schedule(create_compute_target=False, wait_for_completion=True)
パラメーター
get_by_name
特定のワークスペースと名前の一意の DataDriftDetector オブジェクトを取得します。
static get_by_name(workspace, name)
パラメーター
戻り値
DataDriftDetector オブジェクト。
の戻り値の型 :
get_output
特定の時間枠における特定の DataDriftDetector のドリフト結果とメトリックのタプルを取得します。
get_output(start_time=None, end_time=None, run_id=None)
パラメーター
- start_time
- datetime, <xref:optional>
結果ウィンドウの開始時刻 (UTC)。 None (既定値) が指定された場合は、最新の 10 番目のサイクルの結果が開始時刻として使用されます。 たとえば、データ ドリフト スケジュールの頻度が日の場合は、start_time
が 10 日になります。 頻度が週の場合は、start_time
が 10 週になります。
- end_time
- datetime, <xref:optional>
結果ウィンドウの終了時刻 (UTC)。 None (既定値) が指定された場合は、当日の UTC が終了時刻として使用されます。
戻り値
ドリフト結果のリストと個々のデータセットと列メトリックのリストのタプル。
の戻り値の型 :
注釈
このメソッドは、実行の種類 (アドホック 実行、スケジュールされた実行、バックフィル実行) に基づいて、時間枠または実行 ID のドリフト結果とメトリックのタプルを返します。
アドホック 実行の結果を取得するには、
run_id
を有効な GUID にするという 1 つの方法しかありません。スケジュールされた実行とバックフィル実行の結果を取得するには、有効な GUID を
run_id
に割り当てるか、run_id
を None にしたまま特定のstart_time
および/またはend_time
(包含) を割り当てるかの 2 つの方法があります。run_id
、start_time
、およびend_time
が同じメソッド呼び出しで None でない場合は、パラメーター検証例外が発生します。
注:start_time
パラメーターと end_time
パラメーターか、run_id
パラメーターのどちらかを指定し、両方は指定しません。
同じターゲット日 (ターゲット日はデータセットベースのドリフトのターゲット データセット開始日を意味する) の結果が複数存在する場合があります。 そのため、重複する結果を特定して処理する必要があります。
データセットベースのドリフトの場合、結果が同じターゲット日のものであれば、それらが重複した結果です。
get_output
メソッドは、重複した結果を 1 つのルール (常に、最後に生成された結果を取得する) で重複排除します。
get_output
メソッドを使用すると、start_time
と end_time
の間の特定の時間範囲 (境界を含む) 内でスケジュールされた実行のすべての出力または部分的な出力を取得できます。 run_id
を指定して、個々の アドホックの結果を制限することもできます。
get_output
メソッドから返された結果の解釈を容易にするために、次のガイドラインを使用してください。
フィルタリングの原則は "重複" です。実際の結果の時間 (データセットベース: ターゲット データセット [開始日、終了日]) と指定された [
start_time
、end_time
] の間に重複がある限り、結果が取得されます。1 つのターゲット日の出力が複数存在する場合 (その日のドリフト計算が複数回実行されたため) は、既定で、最後の出力だけが選択されます。
複数の種類のデータ ドリフト インスタンスが存在する場合は、結果の内容が異なる可能性があります。
データセットベースの結果の場合、出力は次のようになります。
results : [{'drift_type': 'DatasetBased',
'result':[{'has_drift': True, 'drift_threshold': 0.3,
'start_date': '2019-04-03', 'end_date': '2019-04-04',
'base_dataset_id': '4ac144ef-c86d-4c81-b7e5-ea6bbcd2dc7d',
'target_dataset_id': '13445141-aaaa-bbbb-cccc-ea23542bcaf9'}]}]
metrics : [{'drift_type': 'DatasetBased',
'metrics': [{'schema_version': '0.1',
'start_date': '2019-04-03', 'end_date': '2019-04-04',
'baseline_dataset_id': '4ac144ef-c86d-4c81-b7e5-ea6bbcd2dc7d',
'target_dataset_id': '13445141-aaaa-bbbb-cccc-ea23542bcaf9'
'dataset_metrics': [{'name': 'datadrift_coefficient', 'value': 0.53459}],
'column_metrics': [{'feature1': [{'name': 'datadrift_contribution',
'value': 288.0},
{'name': 'wasserstein_distance',
'value': 4.858040000000001},
{'name': 'energy_distance',
'value': 2.7204799576545313}]}]}]}]
list
指定されたワークスペースとオプションのデータセットに関する DataDriftDetector オブジェクトのリストを取得します。
注:workspace
パラメーターのみを渡すと、ワークスペースで定義されたすべての DataDriftDetector オブジェクトが返されます。
static list(workspace, baseline_dataset=None, target_dataset=None)
パラメーター
戻り値
DataDriftDetector オブジェクトのリスト。
の戻り値の型 :
run
単一時点データ ドリフト分析を実行します。
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
パラメーター
- compute_target
- ComputeTarget または str
オプションの Azure Machine Learning ComputeTarget または ComputeTarget 名。 指定されなかった場合は、自動的にコンピューティング先が作成されます。
戻り値
DataDriftDetector 実行。
の戻り値の型 :
show
指定された時間範囲内のデータ ドリフト傾向を表示します。
既定で、このメソッドは最新の 10 サイクルを表示します。 たとえば、頻度が Day の場合は、最新の 10 日間になります。 頻度が Week の場合は、最新の 10 週間になります。
show(start_time=None, end_time=None)
パラメーター
- start_time
- datetime, <xref:optional>
プレゼンテーション時間枠の開始 (UTC)。 既定の None は、最新の 10 番目のサイクルの結果を取得することを意味します。
戻り値
すべての数値の辞書。 キーは service_name です。
の戻り値の型 :
update
DataDriftDetector オブジェクトに関連付けられたスケジュールを更新します。
オプション パラメーターの値は、None
に設定できます。そうしなかった場合は、既定で既存の値に設定されます。
update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)
パラメーター
- compute_target
- ComputeTarget または str
オプションの Azure Machine Learning ComputeTarget または ComputeTarget 名。 このパラメーターが指定されなかった場合は、DataDriftDetector によってコンピューティング先が作成されます。
戻り値
self
の戻り値の型 :
属性
alert_config
baseline_dataset
DataDriftDetector オブジェクトに関連付けられたベースライン データセットを取得します。
戻り値
ベースライン データセットのデータセット型。
の戻り値の型 :
compute_target
drift_threshold
drift_type
DataDriftDetector の型を取得します。'DatasetBased' が現在サポートされている唯一の値です。
戻り値
DataDriftDetector オブジェクトの型。
の戻り値の型 :
enabled
feature_list
frequency
interval
latency
name
schedule_start
state
DataDriftDetector スケジュールの状態を表します。
戻り値
'Disabled'、'Enabled'、'Deleted'、'Disabling'、'Enabling'、'Deleting'、'Failed'、'DisableFailed'、'EnableFailed'、'DeleteFailed' のいずれか。
の戻り値の型 :
target_dataset
DataDriftDetector オブジェクトに関連付けられたターゲット データセットを取得します。
戻り値
ベースライン データセットのデータセット型。
の戻り値の型 :
workspace
DataDriftDetector オブジェクトのワークスペースを取得します。
戻り値
DataDriftDetector オブジェクトが作成されたワークスペース。
の戻り値の型 :
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示