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)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
DataDriftDetector オブジェクトを作成するワークスペース。 |
name
|
DataDriftDetector オブジェクトの一意の名前。 規定値: None
|
baseline_dataset
|
ターゲット データセットを比較するデータセット。 規定値: None
|
target_dataset
|
アドホック またはスケジュールされた DataDrift ジョブ 規定値: None
|
compute_target
|
ComputeTarget または
str
省略可能な Azure Machine Learning ComputeTarget または ComputeTarget 名。 DataDriftDetector が指定されていない場合、コンピューティング 先が作成されます。 規定値: None
|
frequency
|
パイプラインを実行する頻度を示すオプションの頻度。 "Day"、"Week"、または "Month" をサポートします。 規定値: None
|
feature_list
|
データドリフト検出を実行するためのオプションのホワイトリストに登録された機能。
規定値: None
|
alert_config
|
DataDriftDetector アラートのオプションの構成オブジェクト。 規定値: None
|
drift_threshold
|
DataDriftDetector アラートを有効にするオプションのしきい値。 値は 0 から 1 の間である必要があります。 値 0.2 は、None が指定されている場合に使用されます (既定値)。 規定値: None
|
latency
|
データセットにデータが表示されるまでの時間単位の遅延。 規定値: None
|
workspace
必須
|
DataDriftDetector オブジェクトを作成するワークスペース。 |
name
必須
|
DataDriftDetector オブジェクトの一意の名前。 |
baseline_dataset
必須
|
ターゲット データセットを比較するデータセット。 |
target_dataset
必須
|
アドホック またはスケジュールされた DataDrift ジョブ |
compute_target
必須
|
ComputeTarget または
str
省略可能な Azure Machine Learning ComputeTarget または ComputeTarget 名。 DataDriftDetector が指定されていない場合、コンピューティング 先が作成されます。 |
frequency
必須
|
パイプラインを実行する頻度を示すオプションの頻度。 "Day"、"Week"、または "Month" をサポートします。 |
feature_list
必須
|
データドリフト検出を実行するためのオプションのホワイトリストに登録された機能。
|
alert_config
必須
|
DataDriftDetector アラートのオプションの構成オブジェクト。 |
drift_threshold
必須
|
DataDriftDetector アラートを有効にするオプションのしきい値。 値は 0 から 1 の間である必要があります。 値 0.2 は、None が指定されている場合に使用されます (既定値)。 |
latency
必須
|
データセットにデータが表示されるまでの時間単位の遅延。 |
注釈
DataDriftDetector オブジェクトは、次の 3 種類のジョブ実行を実行するために使用できるデータ ドリフト ジョブ定義を表します。
アドホック 特定の日分のデータを分析するために実行されます。run メソッドを参照してください。
パイプラインでのスケジュールされた実行。enable_schedule メソッドを参照してください。
バックフィルを実行して、時間の経過と同時にデータがどのように変化するかを確認します。backfill メソッドを参照してください。
DataDriftDetector を作成するための一般的なパターンは次のとおりです。
- データセット ベースの DataDriftDetector オブジェクトを作成するには、create_from_datasets
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 サイクルを表示します。 たとえば、頻度が日の場合は、最新の 10 日間になります。 頻度が週の場合は、最新の 10 週間になります。 |
update |
DataDriftDetector オブジェクトに関連付けられているスケジュールを更新します。 省略可能なパラメーター値は |
backfill
指定した開始日と終了日にバックフィル ジョブを実行します。
データ ドリフト バックフィルの実行の詳細については、https://aka.ms/datadrift を参照してください。
注: バックフィルは、データセット ベースの DataDriftDetector オブジェクトでのみサポートされます。
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
パラメーター
名前 | 説明 |
---|---|
start_date
必須
|
バックフィル ジョブの開始日。 |
end_date
必須
|
バックフィル ジョブの終了日 (両端を含む)。 |
compute_target
|
ComputeTarget または
str
省略可能な Azure Machine Learning ComputeTarget または ComputeTarget 名。 何も指定されていない場合、DataDriftDetector によってコンピューティング ターゲットが作成されます。 規定値: None
|
create_compute_target
|
Azure Machine Learning コンピューティング ターゲットが自動的に作成されるかどうかを示します。 規定値: False
|
戻り値
型 | 説明 |
---|---|
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)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
DataDriftDetector を作成するワークスペース。 |
name
必須
|
DataDriftDetector オブジェクトの一意の名前。 |
baseline_dataset
必須
|
ターゲット データセットを比較するデータセット。 |
target_dataset
必須
|
アドホック またはスケジュールされた DataDrift ジョブ |
compute_target
|
ComputeTarget または
str
省略可能な Azure Machine Learning ComputeTarget または ComputeTarget 名。 DataDriftDetector が指定されていない場合、コンピューティング 先が作成されます。 規定値: None
|
frequency
|
パイプラインを実行する頻度を示すオプションの頻度。 "Day"、"Week"、または "Month" をサポートします。 規定値: None
|
feature_list
|
データドリフト検出を実行するためのオプションのホワイトリストに登録された機能。
規定値: None
|
alert_config
|
DataDriftDetector アラートのオプションの構成オブジェクト。 規定値: None
|
drift_threshold
|
DataDriftDetector アラートを有効にするオプションのしきい値。 値は 0 から 1 の間である必要があります。 値 0.2 は、None が指定されている場合に使用されます (既定値)。 規定値: None
|
latency
|
データセットにデータが表示されるまでの時間単位の遅延。 規定値: None
|
戻り値
型 | 説明 |
---|---|
DataDriftDetector オブジェクト。 |
例外
型 | 説明 |
---|---|
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>
|
注釈
データセット ベースの DataDriftDetectors を使用すると、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)
パラメーター
名前 | 説明 |
---|---|
wait_for_completion
|
削除操作が完了するまで待機するかどうか。 規定値: True
|
disable_schedule
DataDriftDetector オブジェクトのスケジュールを無効にします。
disable_schedule(wait_for_completion=True)
パラメーター
名前 | 説明 |
---|---|
wait_for_completion
|
無効化操作が完了するまで待機するかどうか。 規定値: True
|
enable_schedule
データセット ベースの DataDriftDetector ジョブを実行するスケジュールを作成します。
enable_schedule(create_compute_target=False, wait_for_completion=True)
パラメーター
名前 | 説明 |
---|---|
create_compute_target
|
Azure Machine Learning コンピューティング ターゲットが自動的に作成されるかどうかを示します。 規定値: False
|
wait_for_completion
|
有効化操作が完了するまで待機するかどうか。 規定値: True
|
get_by_name
特定のワークスペースと名前の一意の DataDriftDetector オブジェクトを取得します。
static get_by_name(workspace, name)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
DataDriftDetector が作成されたワークスペース。 |
name
必須
|
返す DataDriftDetector オブジェクトの名前。 |
戻り値
型 | 説明 |
---|---|
DataDriftDetector オブジェクト。 |
get_output
特定の時間枠における特定の DataDriftDetector のドリフト結果とメトリックのタプルを取得します。
get_output(start_time=None, end_time=None, run_id=None)
パラメーター
名前 | 説明 |
---|---|
start_time
|
datetime, <xref:optional>
結果ウィンドウの開始時刻 (UTC)。 None (既定値) が指定されている場合、最新の 10 サイクル目の結果が開始時刻として使用されます。 たとえば、データ ドリフト スケジュールの頻度が日の場合、 規定値: None
|
end_time
|
datetime, <xref:optional>
結果ウィンドウの終了時刻 (UTC)。 None (既定値) が指定されている場合、現在の日の UTC が終了時刻として使用されます。 規定値: None
|
run_id
|
int, <xref:optional>
特定の実行 ID。 規定値: None
|
戻り値
型 | 説明 |
---|---|
誤差の結果の一覧と、個々のデータセットと列のメトリックの一覧のタプル。 |
注釈
このメソッドは、実行の種類 ( アドホック実行、スケジュールされた実行、バックフィル実行) に基づいて、時間枠または実行 ID のドリフト結果とメトリックのタプルを返します。
アドホック 実行結果
取得するには、1 つの方法しかありません。 有効な GUID にする必要があります。 スケジュールされた実行とバックフィル実行の結果を取得するには、2 つの方法があります。有効な GUID を
run_id
に割り当てるか、特定のstart_time
を割り当てるか、end_time
(含む) を割り当て、run_id
を None のままにします。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)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
DataDriftDetector オブジェクトが作成されたワークスペース。 |
baseline_dataset
|
戻り値の一覧をフィルター処理するベースライン データセット。 規定値: None
|
target_dataset
|
返されるリストをフィルター処理するターゲット データセット。 規定値: None
|
戻り値
型 | 説明 |
---|---|
DataDriftDetector オブジェクトの一覧。 |
run
単一時点のデータ ドリフト分析を実行します。
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
パラメーター
名前 | 説明 |
---|---|
target_date
必須
|
UTC でのスコア付けデータのターゲット日付。 |
compute_target
|
ComputeTarget または
str
省略可能な Azure Machine Learning ComputeTarget または ComputeTarget 名。 指定しない場合は、コンピューティング 先が自動的に作成されます。 規定値: None
|
create_compute_target
|
Azure Machine Learning コンピューティング ターゲットが自動的に作成されるかどうかを示します。 規定値: False
|
feature_list
|
データドリフト検出を実行するためのオプションのホワイトリストに登録された機能。 規定値: None
|
drift_threshold
|
DataDriftDetector アラートを有効にするオプションのしきい値。 規定値: None
|
戻り値
型 | 説明 |
---|---|
DataDriftDetector を実行します。 |
show
特定の時間範囲のデータ ドリフト傾向を表示します。
既定では、このメソッドは最新の 10 サイクルを表示します。 たとえば、頻度が日の場合は、最新の 10 日間になります。 頻度が週の場合は、最新の 10 週間になります。
show(start_time=None, end_time=None)
パラメーター
名前 | 説明 |
---|---|
start_time
|
datetime, <xref:optional>
プレゼンテーション時間枠の開始 (UTC)。 既定の None は、最新の 10 サイクル目の結果を取得することを意味します。 規定値: None
|
end_time
|
datetime, <xref:optional>
プレゼンテーション データの時間枠の終了 (UTC)。 既定の None は、現在の日を意味します。 規定値: None
|
戻り値
型 | 説明 |
---|---|
dict()
|
すべての数字の辞書。 キーは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 によってコンピューティング 先が作成されます。 規定値: Ellipsis
|
feature_list
|
データドリフト検出を実行するホワイトリストに登録された機能。 規定値: Ellipsis
|
schedule_start
|
データ ドリフト スケジュールの開始時刻 (UTC)。 規定値: Ellipsis
|
alert_config
|
DataDriftDetector アラートのオプションの構成オブジェクト。 規定値: Ellipsis
|
drift_threshold
|
DataDriftDetector アラートを有効にするしきい値。 規定値: Ellipsis
|
wait_for_completion
|
有効化/無効化/削除操作が完了するまで待機するかどうか。 規定値: True
|
戻り値
型 | 説明 |
---|---|
自己 |
属性
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'、'Disableing'、'Enableing'、'Deleteing'、'Failed'、'DisableFailed'、'EnableFailed'、'DeleteFailed' のいずれか。 |
target_dataset
DataDriftDetector オブジェクトに関連付けられているターゲット データセットを取得します。
戻り値
型 | 説明 |
---|---|
ベースライン データセットのデータセットの種類。 |