次の方法で共有


DataDriftDetector クラス

Azure Machine Learning でデータ ドリフト ジョブを実行するために使用できるデータ ドリフト モニターを定義します。

DataDriftDetector クラスを使用すると、特定のベースライン データセットとターゲット データセットの間の誤差を特定できます。 DataDriftDetector オブジェクトは、ベースライン データセットとターゲット データセットを直接指定することで、ワークスペース内に作成されます。 詳細については、https://aka.ms/datadriftを参照してください。

Datadriftdetector コンストラクター。

DataDriftDetector コンストラクターは、指定されたワークスペースに関連付けられている DataDriftDetector オブジェクトのクラウド表現を取得するために使用されます。

継承
builtins.object
DataDriftDetector

コンストラクター

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
str

DataDriftDetector オブジェクトの一意の名前。

規定値: None
baseline_dataset

ターゲット データセットを比較するデータセット。

規定値: None
target_dataset

アドホック またはスケジュールされた DataDrift ジョブ 実行するデータセット。 時系列にする必要があります。

規定値: None
compute_target
ComputeTarget または str

省略可能な Azure Machine Learning ComputeTarget または ComputeTarget 名。 DataDriftDetector が指定されていない場合、コンピューティング 先が作成されます。

規定値: None
frequency
str

パイプラインを実行する頻度を示すオプションの頻度。 "Day"、"Week"、または "Month" をサポートします。

規定値: None
feature_list

データドリフト検出を実行するためのオプションのホワイトリストに登録された機能。 feature_list が指定されていない場合、DataDriftDetector ジョブはすべての機能で実行されます。 機能リストには、文字、数字、ダッシュ、および空白を含めることができます。 リストの長さは 200 未満にする必要があります。

規定値: None
alert_config

DataDriftDetector アラートのオプションの構成オブジェクト。

規定値: None
drift_threshold

DataDriftDetector アラートを有効にするオプションのしきい値。 値は 0 から 1 の間である必要があります。 値 0.2 は、None が指定されている場合に使用されます (既定値)。

規定値: None
latency
int

データセットにデータが表示されるまでの時間単位の遅延。

規定値: None
workspace
必須

DataDriftDetector オブジェクトを作成するワークスペース。

name
必須
str

DataDriftDetector オブジェクトの一意の名前。

baseline_dataset
必須

ターゲット データセットを比較するデータセット。

target_dataset
必須

アドホック またはスケジュールされた DataDrift ジョブ 実行するデータセット。 時系列にする必要があります。

compute_target
必須
ComputeTarget または str

省略可能な Azure Machine Learning ComputeTarget または ComputeTarget 名。 DataDriftDetector が指定されていない場合、コンピューティング 先が作成されます。

frequency
必須
str

パイプラインを実行する頻度を示すオプションの頻度。 "Day"、"Week"、または "Month" をサポートします。

feature_list
必須

データドリフト検出を実行するためのオプションのホワイトリストに登録された機能。 feature_list が指定されていない場合、DataDriftDetector ジョブはすべての機能で実行されます。 機能リストには、文字、数字、ダッシュ、および空白を含めることができます。 リストの長さは 200 未満にする必要があります。

alert_config
必須

DataDriftDetector アラートのオプションの構成オブジェクト。

drift_threshold
必須

DataDriftDetector アラートを有効にするオプションのしきい値。 値は 0 から 1 の間である必要があります。 値 0.2 は、None が指定されている場合に使用されます (既定値)。

latency
必須
int

データセットにデータが表示されるまでの時間単位の遅延。

注釈

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 オブジェクトの一覧を取得します。

注意:workspace パラメーターのみを渡すと、ワークスペースで定義されているすべての DataDriftDetector オブジェクトが返されます。

run

単一時点のデータ ドリフト分析を実行します。

show

特定の時間範囲のデータ ドリフト傾向を表示します。

既定では、このメソッドは最新の 10 サイクルを表示します。 たとえば、頻度が日の場合は、最新の 10 日間になります。 頻度が週の場合は、最新の 10 週間になります。

update

DataDriftDetector オブジェクトに関連付けられているスケジュールを更新します。

省略可能なパラメーター値は Noneに設定できます。それ以外の場合は、既定で既存の値になります。

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

戻り値

説明
Run

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
必須
str

DataDriftDetector オブジェクトの一意の名前。

baseline_dataset
必須

ターゲット データセットを比較するデータセット。

target_dataset
必須

アドホック またはスケジュールされた DataDrift ジョブ 実行するデータセット。 時系列にする必要があります。

compute_target
ComputeTarget または str

省略可能な Azure Machine Learning ComputeTarget または ComputeTarget 名。 DataDriftDetector が指定されていない場合、コンピューティング 先が作成されます。

規定値: None
frequency
str

パイプラインを実行する頻度を示すオプションの頻度。 "Day"、"Week"、または "Month" をサポートします。

規定値: None
feature_list

データドリフト検出を実行するためのオプションのホワイトリストに登録された機能。 feature_list が指定されていない場合、DataDriftDetector ジョブはすべての機能で実行されます。 機能リストには、文字、数字、ダッシュ、および空白を含めることができます。 リストの長さは 200 未満にする必要があります。

規定値: None
alert_config

DataDriftDetector アラートのオプションの構成オブジェクト。

規定値: None
drift_threshold

DataDriftDetector アラートを有効にするオプションのしきい値。 値は 0 から 1 の間である必要があります。 値 0.2 は、None が指定されている場合に使用されます (既定値)。

規定値: None
latency
int

データセットにデータが表示されるまでの時間単位の遅延。

規定値: 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
必須
str

返す DataDriftDetector オブジェクトの名前。

戻り値

説明

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 週間です。

規定値: 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_idstart_time、および end_time が同じメソッド呼び出しで None でない場合は、パラメーター検証例外が発生します。

注意:start_time パラメーターと end_time パラメーター、または run_id パラメーターのいずれかを指定しますが、両方を指定することはできません。

同じターゲット日付に対して複数の結果が存在する可能性があります (ターゲット日付は、データセットベースの誤差のターゲット データセットの開始日を意味します)。 そのため、重複する結果を特定して処理する必要があります。 データセットベースの誤差の場合、結果が同じターゲット日付の場合、結果は重複します。 get_output メソッドは、重複した結果を 1 つのルールで重複除去します。常に、生成された最新の結果を取得します。

get_output メソッドを使用すると、start_timeend_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

戻り値

説明
Run

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

DataDriftDetector オブジェクトのアラート構成を取得します。

戻り値

説明

AlertConfiguration オブジェクト。

baseline_dataset

DataDriftDetector オブジェクトに関連付けられているベースライン データセットを取得します。

戻り値

説明

ベースライン データセットのデータセットの種類。

compute_target

DataDriftDetector オブジェクトにアタッチされているコンピューティング 先を取得します。

戻り値

説明

コンピューティング先。

drift_threshold

DataDriftDetector オブジェクトのドリフトしきい値を取得します。

戻り値

説明

誤差のしきい値。

drift_type

現時点でサポートされている唯一の値は DataDriftDetector 'DatasetBased' の型を取得します。

戻り値

説明
str

DataDriftDetector オブジェクトの型。

enabled

DataDriftDetector オブジェクトが有効かどうかを示すブール値を取得します。

戻り値

説明

ブール値。有効の場合は True。

feature_list

DataDriftDetector オブジェクトのホワイトリストに登録されている機能の一覧を取得します。

戻り値

説明

機能名の一覧。

frequency

DataDriftDetector スケジュールの頻度を取得します。

戻り値

説明
str

"Day"、"Week"、または "Month" のいずれかの文字列

interval

DataDriftDetector スケジュールの間隔を取得します。

戻り値

説明
int

時間単位の整数値。

latency

DataDriftDetector スケジュール ジョブの待機時間 (時間単位) を取得します。

戻り値

説明
int

待機時間を表す時間数。

name

DataDriftDetector オブジェクトの名前を取得します。

戻り値

説明
str

DataDriftDetector 名。

schedule_start

スケジュールの開始時刻を取得します。

戻り値

説明

スケジュール開始時刻 (UTC) の datetime オブジェクト。

state

DataDriftDetector スケジュールの状態を示します。

戻り値

説明
str

'Disabled'、'Enabled'、'Deleted'、'Disableing'、'Enableing'、'Deleteing'、'Failed'、'DisableFailed'、'EnableFailed'、'DeleteFailed' のいずれか。

target_dataset

DataDriftDetector オブジェクトに関連付けられているターゲット データセットを取得します。

戻り値

説明

ベースライン データセットのデータセットの種類。

workspace

DataDriftDetector オブジェクトのワークスペースを取得します。

戻り値

説明

DataDriftDetector オブジェクトが作成されたワークスペース。