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.objectDataDriftDetector
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
- baseline_dataset
- TabularDataset
Himpunan data untuk membandingkan himpunan data target.
- target_dataset
- TabularDataset
Himpunan data untuk menjalankan pekerjaan DataDrift adhoc atau terjadwal. Harus deret waktu.
- compute_target
- ComputeTarget atau str
Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. DataDriftDetector akan membuat target komputasi jika tidak ditentukan.
- frequency
- str
Frekuensi opsional yang menunjukkan seberapa sering alur dijalankan. Mendukung "Hari", "Minggu", atau "Bulan".
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
Objek konfigurasi opsional untuk peringatan DataDriftDetector.
- drift_threshold
- float
Ambang opsional untuk mengaktifkan peringatan DataDriftDetector. Nilai harus antara 0 dan 1. Nilai 0,2 digunakan ketika Tidak ada yang ditentukan (default).
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:
- Untuk membuat objek DataDriftDetector berbasis himpunan data, gunakan create_from_datasets
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 |
| 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 |
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
- compute_target
- ComputeTarget atau str
Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. DataDriftDetector akan membuat target komputasi jika tidak ada yang ditentukan.
- create_compute_target
- bool
Menunjukkan apakah target komputasi Azure Machine Learning dibuat secara otomatis.
Mengembalikan
Eksekusi DataDriftDetector.
Tipe hasil
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
- target_dataset
- TabularDataset
Himpunan data untuk menjalankan pekerjaan DataDrift adhoc atau terjadwal. Harus deret waktu.
- compute_target
- ComputeTarget atau str
Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. DataDriftDetector akan membuat target komputasi jika tidak ditentukan.
- frequency
- str
Frekuensi opsional yang menunjukkan seberapa sering alur dijalankan. Mendukung "Hari", "Minggu", atau "Bulan".
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
Objek konfigurasi opsional untuk peringatan DataDriftDetector.
- drift_threshold
- float
Ambang opsional untuk mengaktifkan peringatan DataDriftDetector. Nilai harus antara 0 dan 1. Nilai 0,2 digunakan ketika Tidak ada yang ditentukan (default).
Mengembalikan
Objek DataDriftDetector.
Tipe hasil
Pengecualian
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
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
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
Menunjukkan apakah target komputasi Azure Machine Learning dibuat secara otomatis.
- wait_for_completion
- bool
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
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>
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>
Waktu akhir jendela hasil di UTC. Jika Tidak ada (default) ditentukan, maka UTC hari ini digunakan sebagai waktu akhir.
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_idharus berupa GUID yang valid.Untuk mengambil hasil eksekusi terjadwal dan eksekusi pengisian ulang, ada dua cara berbeda: menetapkan GUID yang valid ke
run_idatau menetapkanstart_timedan/atauend_timetertentu (inklusif) sambil mempertahankanrun_idsebagai Tidak ada.Jika
run_id,start_time, danend_timebukan 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
- baseline_dataset
- TabularDataset
Himpunan data garis besar untuk memfilter daftar kembali.
- target_dataset
- TabularDataset
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
- compute_target
- ComputeTarget atau str
Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. Jika tidak ditentukan, target komputasi dibuat secara otomatis.
- create_compute_target
- bool
Menunjukkan apakah target komputasi Azure Machine Learning dibuat secara otomatis.
Fitur daftar putih opsional untuk menjalankan deteksi penyimpangan data.
- drift_threshold
- float
Ambang opsional untuk mengaktifkan peringatan DataDriftDetector.
Mengembalikan
Eksekusi DataDriftDetector.
Tipe hasil
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>
Awal dari jendela waktu presentasi di UTC. Default Tidak ada berarti mengambil hasil siklus ke-10 terbaru.
- end_time
- datetime, <xref:optional>
Akhir dari jendela waktu data presentasi di UTC. Default Tidak ada berarti hari ini.
Mengembalikan
Kamus semua angka. Kuncinya adalah service_name.
Tipe hasil
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
Nama ComputeTarget atau ComputeTarget Azure Machine Learning opsional. DataDriftDetector akan membuat target komputasi jika parameter ini tidak ditentukan.
Fitur yang masuk daftar putih untuk menjalankan deteksi penyimpangan data.
- alert_config
- AlertConfiguration
Objek konfigurasi opsional untuk peringatan DataDriftDetector.
- drift_threshold
- float
Ambang untuk mengaktifkan peringatan DataDriftDetector.
- wait_for_completion
- bool
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
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
interval
Dapatkan interval jadwal DataDriftDetector.
Mengembalikan
Nilai bilangan bulat dari satuan waktu.
Tipe hasil
latency
Dapatkan latensi pekerjaan jadwal DataDriftDetector (dalam jam).
Mengembalikan
Jumlah jam yang mewakili latensi.
Tipe hasil
name
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
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
Saran dan Komentar
Kirim dan lihat umpan balik untuk