MimicWrapper Kelas
Penjelas wrapper yang mengurangi jumlah panggilan fungsi yang diperlukan untuk menggunakan paket model penjelasan.
Inisialisasi MimicWrapper.
'<<yang menerima :p aram ndarray 2d explainable_model: Model pengganti yang tidak diinisialisasi digunakan untuk menjelaskan model kotak hitam.
Juga dikenal sebagai model siswa.
- Warisan
-
azureml._logging.chained_identity.ChainedIdentityMimicWrapper
Konstruktor
MimicWrapper(workspace, model, explainable_model, explainer_kwargs=None, init_dataset=None, run=None, features=None, classes=None, model_task=ModelTask.Unknown, explain_subset=None, transformations=None, feature_maps=None, allow_all_transformations=None)
Parameter
Nama | Deskripsi |
---|---|
workspace
Diperlukan
|
Objek ruang kerja tempat Model serta Himpunan Data didefinisikan. |
model
Diperlukan
|
str atau
<xref:<xref:model that implements sklearn.predict>()> atau
<xref:sklearn.predict_proba>() atau
<xref:<xref:pipeline function that accepts a 2d ndarray>>
ID model dari model yang didaftarkan ke MMS atau model pembelajaran mesin biasa atau alur untuk dijelaskan. Jika model ditentukan, maka model tersebut harus mengimplementasikan sklearn.predict() atau sklearn.predict_proba(). Jika alur ditentukan, maka alur tersebut harus menyertakan fungsi yang menerima ndarray 2d. |
explainable_model
Diperlukan
|
Model pengganti yang batal diinisialisasi dipakai untuk menjelaskan model kotak hitam. Juga dikenal sebagai model siswa. |
explainer_kwargs
|
Argumen kata kunci apa pun yang sesuai dengan penjelas yang dipilih tidak tercakup di sini. Argumen tersebut akan diteruskan sebagai kwargs ketika penjelas yang mendasarinya diinisialisasi. nilai default: None
|
init_dataset
|
ID himpunan data atau himpunan data reguler yang digunakan untuk menginisialisasi penjelas (contohnya, x_train). nilai default: None
|
run
|
Eksekusi penjelasan ini harus dikaitkan. nilai default: None
|
features
|
Daftar nama fitur. nilai default: None
|
classes
|
Nama kelas sebagai daftar untai (karakter). Urutan nama kelas harus sesuai dengan output model. Hanya diperlukan jika menjelaskan pengklasifikasi saja. nilai default: None
|
model_task
|
Parameter opsional untuk menentukan apakah model tersebut adalah model klasifikasi atau regresi. Dalam kebanyakan kasus, jenis model bisa disimpulkan berdasarkan bentuk output, di mana pengklasifikasi memiliki metode predict_proba dan menghasilkan array 2 dimensi, sedangkan regresor memiliki metode prediksi serta menghasilkan array 1 dimensi. nilai default: ModelTask.Unknown
|
explain_subset
|
Daftar indeks fitur. Jika ditentukan, Azure hanya memilih subset fitur dalam himpunan data evaluasi untuk penjelasan, yang akan mempercepat proses penjelasan saat jumlah fitur besar serta Anda sudah mengetahui set fitur menarik. Subset bisa jadi fitur k teratas dari ringkasan model. Parameter ini tidak didukung saat transformasi diatur. nilai default: None
|
transformations
|
Sklearn.compose.ColumnTransformer atau daftar tuple yang menjelaskan nama kolom serta transformator. Ketika transformasi diberikan, penjelasan adalah fitur sebelum transformasi. Format untuk daftar transformasi sama dengan yang ada di sini: https://github.com/scikit-learn-contrib/sklearn-pandas. Jika Anda memakai transformasi yang tidak ada dalam daftar transformasi sklearn.preprocessing yang didukung oleh paket interpret-community, parameter ini tidak dapat mengambil daftar lebih dari satu kolom sebagai input untuk transformasi. Anda bisa menggunakan transformasi sklearn.preprocessing berikut dengan daftar kolom karena ini sudah satu ke banyak atau satu ke satu: Binarizer, KBinsDiscretizer, KernelCenterer, LabelEncoder, MaxAbsScaler, MinMaxScaler, Normalizer, OneHotEncoder, OrdinalEncoder, PowerTransformer, QuantileTransformer, RobustScaler, StandardScaler. Contoh untuk transformasi yang bekerja:
Contoh transformasi yang akan menimbulkan kesalahan karena tidak bisa diartikan sebagai satu ke banyak:
Contoh terakhir tidak akan berfungsi karena paket interpret-community tidak bisa menentukan apakah my_own_transformer memberikan pemetaan banyak ke banyak atau satu ke banyak saat mengambil urutan kolom. Hanya satu parameter dari 'transformasi' atau 'feature_maps' yang harus ditentukan untuk menghasilkan penjelasan mentah. Menentukan keduanya akan menghasilkan pengecualian konfigurasi. nilai default: None
|
feature_maps
|
Daftar peta fitur dari fitur mentah hingga yang dihasilkan. Parameter ini bisa berupa daftar array numpy atau matriks sparse di mana setiap entri array (raw_index, generate_index) adalah bobot untuk setiap pasangan fitur mentah yang dihasilkan. Entri lainnya diatur ke nol. Untuk urutan transformasi [t1, t2, ..., tn] menghasilkan fitur yang dihasilkan dari fitur mentah, daftar peta fitur sesuai dengan peta mentah ke peta yang dihasilkan dalam urutan yang sama seperti t1, t2, dll. Jika peta fitur mentah hingga yang dihasilkan secara keseluruhan dari t1 ke tn tersedia, hanya peta fitur dalam daftar elemen tunggal yang bisa diteruskan. Hanya satu parameter dari 'transformasi' atau 'feature_maps' yang harus ditentukan untuk menghasilkan penjelasan mentah. Menentukan keduanya akan menghasilkan pengecualian konfigurasi. nilai default: None
|
allow_all_transformations
|
Apakah akan mengizinkan transformasi banyak ke banyak serta banyak ke satu. nilai default: None
|
workspace
Diperlukan
|
Objek ruang kerja tempat Model serta Himpunan Data didefinisikan. |
model
Diperlukan
|
str atau
<xref:<xref:model that implements sklearn.predict>()> atau
<xref:sklearn.predict_proba>() atau
<xref:<xref:pipeline function>>
ID model dari model yang didaftarkan ke MMS atau model pembelajaran mesin biasa atau alur untuk dijelaskan. Jika model ditentukan, maka model tersebut harus mengimplementasikan sklearn.predict() atau sklearn.predict_proba(). Jika alur ditentukan, maka alur tersebut harus menyertakan fungsi yang menerima ndarray 2d. |
explainer_kwargs
Diperlukan
|
Argumen kata kunci apa pun yang sesuai dengan penjelas yang dipilih tidak tercakup di sini. Argumen tersebut akan diteruskan sebagai kwargs ketika penjelas yang mendasarinya diinisialisasi. |
init_dataset
Diperlukan
|
ID himpunan data atau himpunan data reguler yang digunakan untuk menginisialisasi penjelas (misalnya x_train). |
run
Diperlukan
|
Eksekusi penjelasan ini harus dikaitkan. |
features
Diperlukan
|
Daftar nama fitur. |
classes
Diperlukan
|
Nama kelas sebagai daftar untai (karakter). Urutan nama kelas harus sesuai dengan output model. Hanya diperlukan jika menjelaskan pengklasifikasi saja. |
model_task
Diperlukan
|
Parameter opsional untuk menentukan apakah model tersebut adalah model klasifikasi atau regresi. Dalam kebanyakan kasus, jenis model bisa disimpulkan berdasarkan bentuk output, di mana pengklasifikasi memiliki metode predict_proba dan menghasilkan array 2 dimensi, sedangkan regresor memiliki metode prediksi serta menghasilkan array 1 dimensi. |
explain_subset
Diperlukan
|
Daftar indeks fitur. Jika ditentukan, hanya memilih subset fitur dalam himpunan data evaluasi untuk penjelasan, yang akan mempercepat proses penjelasan ketika jumlah fitur besar dan pengguna sudah mengetahui serangkaian fitur yang menarik. Subset bisa jadi fitur k teratas dari ringkasan model. Argumen ini tidak didukung ketika transformasi diatur. |
transformations
Diperlukan
|
Sklearn.compose.ColumnTransformer atau daftar tuple yang menjelaskan nama kolom serta transformator. Ketika transformasi diberikan, penjelasan adalah fitur sebelum transformasi. Format untuk daftar transformasi sama dengan yang ada di sini: https://github.com/scikit-learn-contrib/sklearn-pandas. Jika Anda memakai transformasi yang tidak ada dalam daftar transformasi sklearn.preprocessing yang didukung oleh paket interpret-community, parameter ini tidak dapat mengambil daftar lebih dari satu kolom sebagai input untuk transformasi. Anda bisa menggunakan transformasi sklearn.preprocessing berikut dengan daftar kolom karena ini sudah satu ke banyak atau satu ke satu: Binarizer, KBinsDiscretizer, KernelCenterer, LabelEncoder, MaxAbsScaler, MinMaxScaler, Normalizer, OneHotEncoder, OrdinalEncoder, PowerTransformer, QuantileTransformer, RobustScaler, StandardScaler. Contoh untuk transformasi yang bekerja:
Contoh transformasi yang akan menimbulkan kesalahan karena tidak bisa diartikan sebagai satu ke banyak:
Contoh terakhir tidak akan berfungsi karena paket interpret-community tidak bisa menentukan apakah my_own_transformer memberikan pemetaan banyak ke banyak atau satu ke banyak saat mengambil urutan kolom. Hanya satu parameter dari 'transformasi' atau 'feature_maps' yang harus ditentukan untuk menghasilkan penjelasan mentah. Menentukan keduanya akan menghasilkan pengecualian konfigurasi. |
feature_maps
Diperlukan
|
list[array] atau
list[csr_matrix] <xref::param allow_all_transformations: Whether to allow many to many and many to one transformations.>
Daftar peta fitur dari fitur mentah hingga yang dihasilkan. Parameter ini bisa berupa daftar array numpy atau matriks sparse di mana setiap entri array (raw_index, generate_index) adalah bobot untuk setiap pasangan fitur mentah yang dihasilkan. Entri lainnya diatur ke nol. Untuk urutan transformasi [t1, t2, ..., tn] menghasilkan fitur yang dihasilkan dari fitur mentah, daftar peta fitur sesuai dengan peta mentah ke peta yang dihasilkan dalam urutan yang sama seperti t1, t2, dll. Jika peta fitur mentah hingga yang dihasilkan secara keseluruhan dari t1 ke tn tersedia, hanya peta fitur dalam daftar elemen tunggal yang bisa diteruskan. Hanya satu parameter dari 'transformasi' atau 'feature_maps' yang harus ditentukan untuk menghasilkan penjelasan mentah. Menentukan keduanya akan menghasilkan pengecualian konfigurasi. |
Keterangan
MimicWrapper bisa digunakan untuk menjelaskan model pembelajaran mesin, dan sangat efektif dalam hubungannya dengan AutoML. Misalnya, menggunakan fungsi automl_setup_model_explanations
dalam modul <xref:azureml.train.automl.runtime.automl_explain_utilities>, Anda bisa menggunakan MimicWrapper untuk menghitung serta memvisualisasikan pentingnya fitur. Untuk informasi selengkapnya, lihat Interpretabilitas: penjelasan model dalam pembelajaran mesin otomatis.
Dalam contoh berikut, MimicWrapper dipakai dalam masalah klasifikasi.
from azureml.interpret.mimic_wrapper import MimicWrapper
explainer = MimicWrapper(ws, automl_explainer_setup_obj.automl_estimator,
explainable_model=automl_explainer_setup_obj.surrogate_model,
init_dataset=automl_explainer_setup_obj.X_transform, run=automl_run,
features=automl_explainer_setup_obj.engineered_feature_names,
feature_maps=[automl_explainer_setup_obj.feature_map],
classes=automl_explainer_setup_obj.classes,
explainer_kwargs=automl_explainer_setup_obj.surrogate_model_params)
Untuk informasi selengkapnya tentang contoh ini, lihat buku catatan ini.
Metode
explain |
Jelaskan perilaku model serta unggah penjelasan tersebut secara opsional untuk penyimpanan dan visualisasi. |
explain
Jelaskan perilaku model serta unggah penjelasan tersebut secara opsional untuk penyimpanan dan visualisasi.
explain(explanation_types, eval_dataset=None, top_k=None, upload=True, upload_datasets=False, tag='', get_raw=False, raw_feature_names=None, experiment_name='explain_model', raw_eval_dataset=None, true_ys=None)
Parameter
Nama | Deskripsi |
---|---|
explanation_types
Diperlukan
|
Daftar string yang mewakili jenis penjelasan yang diinginkan. Saat ini, 'global' serta 'lokal' didukung. Keduanya dapat diteruskan sekaligus; namun hanya satu penjelasan saja yang akan dikembalikan. |
eval_dataset
|
ID himpunan data atau himpunan data biasa yang digunakan untuk menghasilkan penjelasan. nilai default: None
|
top_k
|
Batasi jumlah data yang dikembalikan serta disimpan dalam Riwayat Eksekusi ke fitur k teratas, jika memungkinkan. nilai default: None
|
upload
|
Jika True, penjelasannya otomatis diunggah ke Riwayat Eksekusi untuk penyimpanan serta visualisasi. Jika eksekusi tidak diteruskan pada inisialisasi, maka eksekusi akan dibuat. nilai default: True
|
upload_datasets
|
Jika diatur ke True dan tidak ada ID himpunan data yang diteruskan, maka himpunan data evaluasi akan diunggah ke penyimpanan Azure. Ini akan meningkatkan visualisasi yang tersedia di tampilan web. nilai default: False
|
tag
Diperlukan
|
String untuk dilampirkan pada penjelasan untuk membedakannya dari yang lain setelah diunggah. |
get_raw
|
Jika True dan parameter nilai default: False
|
raw_feature_names
|
Daftar nama fitur mentah, menggantikan nama fitur rekayasa dari konstruktor. nilai default: None
|
experiment_name
|
Nama yang diinginkan untuk memberikan penjelasan apabila nilai default: explain_model
|
raw_eval_dataset
|
Data evaluasi mentah yang akan diunggah untuk penjelasan mentah. nilai default: None
|
true_ys
|
Label yang benar untuk contoh evaluasi. nilai default: None
|
Mengembalikan
Jenis | Deskripsi |
---|---|
Objek penjelasan. |
Atribut
explainer
Dapatkan penjelas yang digunakan secara internal oleh wrapper.
Mengembalikan
Jenis | Deskripsi |
---|---|
Penjelas yang digunakan secara internal oleh wrapper. |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk