MimicWrapper Kelas
Penjelas wrapper yang mengurangi jumlah panggilan fungsi yang diperlukan untuk menggunakan paket model penjelasan.
Inisialisasi MimicWrapper.
'<<yang menerima ndarray 2d :p aram 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
- model
- 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
- BaseExplainableModel
Model pengganti yang batal diinisialisasi dipakai untuk menjelaskan model kotak hitam. Juga dikenal sebagai model siswa.
- explainer_kwargs
- dict
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
- str atau array atau DataFrame atau csr_matrix
ID himpunan data atau himpunan data reguler yang digunakan untuk menginisialisasi penjelas (contohnya, x_train).
Nama kelas sebagai daftar untai (karakter). Urutan nama kelas harus sesuai dengan output model. Hanya diperlukan jika menjelaskan pengklasifikasi saja.
- model_task
- str
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.
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.
- transformations
- ColumnTransformer atau list[tuple]
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:
[
(["col1", "col2"], sklearn_one_hot_encoder),
(["col3"], None) #col3 passes as is
]
[
(["col1"], my_own_transformer),
(["col2"], my_own_transformer),
]
Contoh transformasi yang akan menimbulkan kesalahan karena tidak bisa diartikan sebagai satu ke banyak:
[
(["col1", "col2"], my_own_transformer)
]
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
- list[array] atau list[csr_matrix]
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.
- allow_all_transformations
- bool
Apakah akan mengizinkan transformasi banyak ke banyak serta banyak ke satu.
- model
- 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
- dict
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
- str atau array atau DataFrame atau csr_matrix
ID himpunan data atau himpunan data reguler yang digunakan untuk menginisialisasi penjelas (misalnya x_train).
Nama kelas sebagai daftar untai (karakter). Urutan nama kelas harus sesuai dengan output model. Hanya diperlukan jika menjelaskan pengklasifikasi saja.
- model_task
- str
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.
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
- ColumnTransformer atau list[tuple]
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:
[
(["col1", "col2"], sklearn_one_hot_encoder),
(["col3"], None) #col3 passes as is
]
[
(["col1"], my_own_transformer),
(["col2"], my_own_transformer),
]
Contoh transformasi yang akan menimbulkan kesalahan karena tidak bisa diartikan sebagai satu ke banyak:
[
(["col1", "col2"], my_own_transformer)
]
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
- 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
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
- str atau array atau DataFrame atau csr_matrix
ID himpunan data atau himpunan data biasa yang digunakan untuk menghasilkan penjelasan.
- top_k
- int
Batasi jumlah data yang dikembalikan serta disimpan dalam Riwayat Eksekusi ke fitur k teratas, jika memungkinkan.
- upload
- bool
Jika True, penjelasannya otomatis diunggah ke Riwayat Eksekusi untuk penyimpanan serta visualisasi. Jika eksekusi tidak diteruskan pada inisialisasi, maka eksekusi akan dibuat.
- upload_datasets
- bool
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.
- tag
- str
String untuk dilampirkan pada penjelasan untuk membedakannya dari yang lain setelah diunggah.
- get_raw
- bool
Jika True dan parameter feature_maps
diteruskan selama inisialisasi, maka penjelasan yang dikembalikan adalah untuk fitur mentah. Jika False atau tidak ditentukan, maka penjelasannya adalah untuk data persis seperti yang diteruskan.
Daftar nama fitur mentah, menggantikan nama fitur rekayasa dari konstruktor.
- experiment_name
- str
Nama yang diinginkan untuk memberikan penjelasan apabila upload
True tetapi tidak ada proses yang diteruskan selama inisialisasi
- raw_eval_dataset
- str atau array atau DataFrame atau csr_matrix
Data evaluasi mentah yang akan diunggah untuk penjelasan mentah.
Label yang benar untuk contoh evaluasi.
Mengembalikan
Objek penjelasan.
Tipe hasil
Atribut
explainer
Dapatkan penjelas yang digunakan secara internal oleh wrapper.
Mengembalikan
Penjelas yang digunakan secara internal oleh wrapper.
Tipe hasil
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