DataDriftDetector Kelas

Menentukan monitor penyimpangan data yang dapat digunakan untuk menjalankan pekerjaan penyimpangan data di Azure Machine Learning.

Kelas DataDriftDetector memungkinkan Anda mengidentifikasi penyimpangan antara himpunan data garis besar dan target tertentu. Objek DataDriftDetector dibuat di ruang kerja dengan menentukan himpunan data garis besar dan target secara langsung. Untuk informasi selengkapnya, lihat https://aka.ms/datadrift.

Warisan
builtins.object
DataDriftDetector

Konstruktor

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)

Parameter

workspace
Workspace
Diperlukan

Ruang kerja untuk membuat objek DataDriftDetector.

name
str
nilai default: None

Nama unik untuk objek DataDriftDetector.

baseline_dataset
TabularDataset
nilai default: None

Himpunan data untuk membandingkan himpunan data target.

target_dataset
TabularDataset
nilai default: None

Himpunan data untuk menjalankan pekerjaan DataDrift adhoc atau terjadwal. Harus deret waktu.

compute_target
ComputeTarget atau str
nilai default: None

Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. DataDriftDetector akan membuat target komputasi jika tidak ditentukan.

frequency
str
nilai default: None

Frekuensi opsional yang menunjukkan seberapa sering alur dijalankan. Mendukung "Hari", "Minggu", atau "Bulan".

feature_list
list[str]
nilai default: None

Fitur daftar putih opsional untuk menjalankan deteksi penyimpangan data. Pekerjaan DataDriftDetector akan berjalan di semua fitur jika feature_list tidak ditentukan. Daftar fitur dapat berisi karakter, angka, tanda pisah, dan spasi. Panjang daftar harus kurang dari 200.

alert_config
AlertConfiguration
nilai default: None

Objek konfigurasi opsional untuk peringatan DataDriftDetector.

drift_threshold
float
nilai default: None

Ambang opsional untuk mengaktifkan peringatan DataDriftDetector. Nilai harus antara 0 dan 1. Nilai 0,2 digunakan ketika Tidak ada yang ditentukan (default).

latency
int
nilai default: None

Penundaan dalam beberapa jam hingga data muncul di himpunan data.

Keterangan

Objek DataDriftDetector mewakili definisi pekerjaan penyimpangan data yang dapat digunakan untuk menjalankan tiga jenis pekerjaan eksekusi:

  • eksekusi adhoc untuk menganalisis data senilai hari tertentu; lihat metode run.

  • eksekusi terjadwal dalam alur; lihat metode enable_schedule.

  • eksekusi pengisian ulang untuk melihat bagaimana data berubah dari waktu ke waktu; lihat metode backfill.

Pola khas untuk membuat DataDriftDetector adalah:

Contoh berikut menunjukkan cara membuat objek DataDriftDetector berbasis himpunan data.


   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

Sampel lengkap tersedia dari https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb

Konstruktor DataDriftDetector mengambil objek penyimpangan data yang ada terkait dengan ruang kerja.

Metode

backfill

Jalankan pekerjaan pengisian ulang pada tanggal mulai dan tanggal selesai yang ditentukan.

Lihat https://aka.ms/datadrift untuk detail tentang eksekusi pengisian ulang penyimpangan data.

CATATAN: Isi ulang hanya didukung pada objek DataDriftDetector berbasis himpunan data.

create_from_datasets

Buat objek DataDriftDetector baru dari himpunan data tabular garis besar dan himpunan data deret waktu target.

delete

Hapus jadwal untuk objek DataDriftDetector.

disable_schedule

Nonaktifkan jadwal untuk objek DataDriftDetector.

enable_schedule

Buat jadwal untuk menjalankan pekerjaan DataDriftDetector berbasis himpunan data.

get_by_name

Ambil objek DataDriftDetector unik untuk ruang kerja dan nama tertentu.

get_output

Dapatkan tuple hasil penyimpangan dan metrik untuk DataDriftDetector tertentu selama jangka waktu tertentu.

list

Dapatkan daftar objek DataDriftDetector untuk ruang kerja yang ditentukan dan himpunan data opsional.

CATATAN: Hanya meneruskan parameter workspace akan mengembalikan semua objek DataDriftDetector, yang ditentukan di ruang kerja.

run

Jalankan analisis penyimpangan data satu titik dalam waktu.

show

Menampilkan tren penyimpangan data dalam rentang waktu tertentu.

Secara default, metode ini menunjukkan 10 siklus terbaru. Misalnya, jika frekuensi adalah hari, maka frekuensinya akan menjadi 10 hari terakhir. Jika frekuensi adalah minggu, maka frekuensinya akan menjadi 10 minggu terakhir.

update

Perbarui jadwal yang terkait dengan objek DataDriftDetector.

Nilai parameter opsional dapat diatur ke None, jika tidak, nilai default ke nilai yang ada.

backfill

Jalankan pekerjaan pengisian ulang pada tanggal mulai dan tanggal selesai yang ditentukan.

Lihat https://aka.ms/datadrift untuk detail tentang eksekusi pengisian ulang penyimpangan data.

CATATAN: Isi ulang hanya didukung pada objek DataDriftDetector berbasis himpunan data.

backfill(start_date, end_date, compute_target=None, create_compute_target=False)

Parameter

start_date
datetime
Diperlukan

Tanggal mulai pekerjaan pengisian ulang.

end_date
datetime
Diperlukan

Tanggal selesai pekerjaan pengisian ulang, inklusif.

compute_target
ComputeTarget atau str
nilai default: None

Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. DataDriftDetector akan membuat target komputasi jika tidak ada yang ditentukan.

create_compute_target
bool
nilai default: False

Menunjukkan apakah target komputasi Azure Machine Learning dibuat secara otomatis.

Mengembalikan

Eksekusi DataDriftDetector.

Tipe hasil

Run

create_from_datasets

Buat objek DataDriftDetector baru dari himpunan data tabular garis besar dan himpunan data deret waktu target.

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)

Parameter

workspace
Workspace
Diperlukan

Ruang kerja untuk membuat DataDriftDetector.

name
str
Diperlukan

Nama unik untuk objek DataDriftDetector.

baseline_dataset
TabularDataset
Diperlukan

Himpunan data untuk membandingkan himpunan data target.

target_dataset
TabularDataset
Diperlukan

Himpunan data untuk menjalankan pekerjaan DataDrift adhoc atau terjadwal. Harus deret waktu.

compute_target
ComputeTarget atau str
nilai default: None

Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. DataDriftDetector akan membuat target komputasi jika tidak ditentukan.

frequency
str
nilai default: None

Frekuensi opsional yang menunjukkan seberapa sering alur dijalankan. Mendukung "Hari", "Minggu", atau "Bulan".

feature_list
list[str]
nilai default: None

Fitur daftar putih opsional untuk menjalankan deteksi penyimpangan data. Pekerjaan DataDriftDetector akan berjalan di semua fitur jika feature_list tidak ditentukan. Daftar fitur dapat berisi karakter, angka, tanda pisah, dan spasi. Panjang daftar harus kurang dari 200.

alert_config
AlertConfiguration
nilai default: None

Objek konfigurasi opsional untuk peringatan DataDriftDetector.

drift_threshold
float
nilai default: None

Ambang opsional untuk mengaktifkan peringatan DataDriftDetector. Nilai harus antara 0 dan 1. Nilai 0,2 digunakan ketika Tidak ada yang ditentukan (default).

latency
int
nilai default: None

Penundaan dalam beberapa jam hingga data muncul di himpunan data.

Mengembalikan

Objek DataDriftDetector.

Tipe hasil

Pengecualian

<xref:KeyError>, <xref:TypeError>, <xref:ValueError>

Keterangan

DataDriftDetecors berbasis himpunan data memungkinkan Anda menghitung penyimpangan data antara himpunan data garis besar, yang harus berupa TabularDataset, dan himpunan data target, yang harus berupa himpunan data deret waktu. Himpunan data deret waktu hanyalah TabularDataset dengan properti fine_grain_timestamp. DataDriftDetector kemudian dapat menjalankan pekerjaan adhoc atau terjadwal untuk menentukan apakah himpunan data target telah menyimpang dari himpunan data garis besar.


   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

Hapus jadwal untuk objek DataDriftDetector.

delete(wait_for_completion=True)

Parameter

wait_for_completion
bool
nilai default: True

Apakah akan menunggu hingga operasi penghapusan selesai.

disable_schedule

Nonaktifkan jadwal untuk objek DataDriftDetector.

disable_schedule(wait_for_completion=True)

Parameter

wait_for_completion
bool
nilai default: True

Apakah akan menunggu hingga operasi penonaktifan selesai.

enable_schedule

Buat jadwal untuk menjalankan pekerjaan DataDriftDetector berbasis himpunan data.

enable_schedule(create_compute_target=False, wait_for_completion=True)

Parameter

create_compute_target
bool
nilai default: False

Menunjukkan apakah target komputasi Azure Machine Learning dibuat secara otomatis.

wait_for_completion
bool
nilai default: True

Apakah akan menunggu hingga operasi pengaktifan selesai.

get_by_name

Ambil objek DataDriftDetector unik untuk ruang kerja dan nama tertentu.

static get_by_name(workspace, name)

Parameter

workspace
Workspace
Diperlukan

Ruang kerja tempat DataDriftDetector dibuat.

name
str
Diperlukan

Nama objek DataDriftDetector yang akan dikembalikan.

Mengembalikan

Objek DataDriftDetector.

Tipe hasil

get_output

Dapatkan tuple hasil penyimpangan dan metrik untuk DataDriftDetector tertentu selama jangka waktu tertentu.

get_output(start_time=None, end_time=None, run_id=None)

Parameter

start_time
datetime, <xref:optional>
nilai default: None

Waktu mulai jendela hasil di UTC. Jika Tidak ada (default) ditentukan, maka hasil siklus ke-10 terbaru digunakan sebagai waktu mulai. Misalnya, jika frekuensi jadwal penyimpangan data adalah hari, maka start_time adalah 10 hari. Jika frekuensi adalah minggu, maka start_time adalah 10 minggu.

end_time
datetime, <xref:optional>
nilai default: None

Waktu akhir jendela hasil di UTC. Jika Tidak ada (default) ditentukan, maka UTC hari ini digunakan sebagai waktu akhir.

run_id
int, <xref:optional>
nilai default: None

ID eksekusi tertentu.

Mengembalikan

Tuple daftar hasil penyimpangan dan daftar himpunan data individual dan metrik kolom.

Tipe hasil

Keterangan

Metode ini mengembalikan tuple hasil penyimpangan dan metrik untuk jendela waktu atau ID eksekusi berdasarkan jenis eksekusi: eksekusi adhoc, eksekusi terjadwal, dan eksekusi pengisian ulang.

  • Untuk mengambil hasil eksekusi adhoc, hanya ada satu cara: run_id harus berupa GUID yang valid.

  • Untuk mengambil hasil eksekusi terjadwal dan eksekusi pengisian ulang, ada dua cara berbeda: menetapkan GUID yang valid ke run_id atau menetapkan start_time dan/atau end_time tertentu (inklusif) sambil mempertahankan run_id sebagai Tidak ada.

  • Jika run_id, start_time, dan end_time bukan Tidak ada dalam pemanggilan metode yang sama, pengecualian validasi parameter akan muncul.

CATATAN: Tentukan parameter start_time dan end_time atau parameter run_id, tetapi tidak keduanya.

Ada kemungkinan bahwa ada beberapa hasil untuk tanggal target yang sama (tanggal target berarti tanggal mulai himpunan data target untuk penyimpangan berbasis himpunan data). Oleh karena itu, perlu untuk mengidentifikasi dan menangani hasil duplikat. Untuk penyimpangan berbasis himpunan data, jika hasilnya untuk tanggal target yang sama, maka hasil tersebut merupakan hasil duplikat. Metode get_output akan menghapus hasil duplikat dengan satu aturan: selalu ambil hasil terbaru yang dihasilkan.

Metode get_output dapat digunakan untuk mengambil semua output atau sebagian output dari eksekusi terjadwal dalam rentang waktu tertentu antara start_time dan end_time (termasuk batas). Anda juga dapat membatasi hasil adhoc individu dengan menentukan run_id.

Gunakan panduan berikut untuk membantu menginterpretasikan hasil yang dikembalikan dari metode get_output:

  • Prinsip pemfilteran adalah "tumpang tindih": selama ada tumpang tindih antara waktu hasil aktual (berbasis himpunan data: himpunan data target [tanggal mulai, tanggal selesai]) dan [start_time, end_time] yang diberikan, maka hasilnya akan diambil.

  • Jika ada beberapa output untuk satu tanggal target karena penghitungan penyimpangan dijalankan beberapa kali terhadap hari itu, maka hanya output terbaru yang akan dipilih secara default.

  • Mengingat ada beberapa jenis instans penyimpangan data, konten hasil dapat beragam.

Untuk hasil berbasis himpunan data, output akan terlihat seperti:


   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

Dapatkan daftar objek DataDriftDetector untuk ruang kerja yang ditentukan dan himpunan data opsional.

CATATAN: Hanya meneruskan parameter workspace akan mengembalikan semua objek DataDriftDetector, yang ditentukan di ruang kerja.

static list(workspace, baseline_dataset=None, target_dataset=None)

Parameter

workspace
Workspace
Diperlukan

Ruang kerja tempat objek DataDriftDetector dibuat.

baseline_dataset
TabularDataset
nilai default: None

Himpunan data garis besar untuk memfilter daftar kembali.

target_dataset
TabularDataset
nilai default: None

Himpunan data target untuk memfilter daftar kembali.

Mengembalikan

Daftar objek DataDriftDetector.

Tipe hasil

run

Jalankan analisis penyimpangan data satu titik dalam waktu.

run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)

Parameter

target_date
datetime
Diperlukan

Tanggal target penilaian data di UTC.

compute_target
ComputeTarget atau str
nilai default: None

Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. Jika tidak ditentukan, target komputasi dibuat secara otomatis.

create_compute_target
bool
nilai default: False

Menunjukkan apakah target komputasi Azure Machine Learning dibuat secara otomatis.

feature_list
list[str]
nilai default: None

Fitur daftar putih opsional untuk menjalankan deteksi penyimpangan data.

drift_threshold
float
nilai default: None

Ambang opsional untuk mengaktifkan peringatan DataDriftDetector.

Mengembalikan

Eksekusi DataDriftDetector.

Tipe hasil

Run

show

Menampilkan tren penyimpangan data dalam rentang waktu tertentu.

Secara default, metode ini menunjukkan 10 siklus terbaru. Misalnya, jika frekuensi adalah hari, maka frekuensinya akan menjadi 10 hari terakhir. Jika frekuensi adalah minggu, maka frekuensinya akan menjadi 10 minggu terakhir.

show(start_time=None, end_time=None)

Parameter

start_time
datetime, <xref:optional>
nilai default: None

Awal dari jendela waktu presentasi di UTC. Default Tidak ada berarti mengambil hasil siklus ke-10 terbaru.

end_time
datetime, <xref:optional>
nilai default: None

Akhir dari jendela waktu data presentasi di UTC. Default Tidak ada berarti hari ini.

Mengembalikan

Kamus semua angka. Kuncinya adalah service_name.

Tipe hasil

dict()

update

Perbarui jadwal yang terkait dengan objek DataDriftDetector.

Nilai parameter opsional dapat diatur ke None, jika tidak, nilai default ke nilai yang ada.

update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)

Parameter

compute_target
ComputeTarget atau str
nilai default: Ellipsis

Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. DataDriftDetector akan membuat target komputasi jika parameter ini tidak ditentukan.

feature_list
list[str]
nilai default: Ellipsis

Fitur yang masuk daftar putih untuk menjalankan deteksi penyimpangan data.

schedule_start
datetime
nilai default: Ellipsis

Waktu mulai jadwal penyimpangan data di UTC.

alert_config
AlertConfiguration
nilai default: Ellipsis

Objek konfigurasi opsional untuk peringatan DataDriftDetector.

drift_threshold
float
nilai default: Ellipsis

Ambang untuk mengaktifkan peringatan DataDriftDetector.

wait_for_completion
bool
nilai default: True

Apakah akan menunggu operasi aktifkan/nonaktifkan/hapus selesai.

Mengembalikan

self

Tipe hasil

Atribut

alert_config

Dapatkan konfigurasi peringatan untuk objek DataDriftDetector.

Mengembalikan

Objek AlertConfiguration.

Tipe hasil

baseline_dataset

Dapatkan himpunan data garis besar yang terkait dengan objek DataDriftDetector.

Mengembalikan

Jenis himpunan data dari himpunan data garis besar.

Tipe hasil

compute_target

Dapatkan target komputasi yang dilampirkan ke objek DataDriftDetector.

Mengembalikan

Target komputasi.

Tipe hasil

drift_threshold

Dapatkan ambang penyimpangan untuk objek DataDriftDetector.

Mengembalikan

Ambang penyimpangan.

Tipe hasil

drift_type

Dapatkan jenis DataDriftDetector, 'DatasetBased' adalah satu-satunya nilai yang didukung untuk saat ini.

Mengembalikan

Jenis objek DataDriftDetector.

Tipe hasil

str

enabled

Dapatkan nilai boolean yang menunjukkan apakah objek DataDriftDetector diaktifkan.

Mengembalikan

Nilai boolean; True untuk diaktifkan.

Tipe hasil

feature_list

Dapatkan daftar fitur yang masuk daftar putih untuk objek DataDriftDetector.

Mengembalikan

Daftar nama fitur.

Tipe hasil

frequency

Dapatkan frekuensi jadwal DataDriftDetector.

Mengembalikan

Untai "Hari", "Minggu", atau "Bulan"

Tipe hasil

str

interval

Dapatkan interval jadwal DataDriftDetector.

Mengembalikan

Nilai bilangan bulat dari satuan waktu.

Tipe hasil

int

latency

Dapatkan latensi pekerjaan jadwal DataDriftDetector (dalam jam).

Mengembalikan

Jumlah jam yang mewakili latensi.

Tipe hasil

int

name

Dapatkan nama objek DataDriftDetector.

Mengembalikan

Nama DataDriftDetector.

Tipe hasil

str

schedule_start

Dapatkan waktu mulai dari jadwal.

Mengembalikan

Objek tanggalwaktu dari jadwal waktu mulai di UTC.

Tipe hasil

state

Menunjukkan status jadwal DataDriftDetector.

Mengembalikan

Salah satu dari 'Disabled', 'Enabled', 'Deleted', 'Disabling', 'Enabling', 'Deleting', 'Failed', 'DisableFailed', 'EnableFailed', 'DeleteFailed'.

Tipe hasil

str

target_dataset

Dapatkan himpunan data target yang terkait dengan objek DataDriftDetector.

Mengembalikan

Jenis himpunan data dari himpunan data garis besar.

Tipe hasil

workspace

Dapatkan ruang kerja objek DataDriftDetector.

Mengembalikan

Ruang kerja tempat objek DataDriftDetector dibuat.

Tipe hasil