Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penjelasan biasanya kontras, yaitu menjelaskan penyimpangan dari garis dasar. Untuk informasi tentang garis dasar penjelasan, lihat. Garis Dasar SHAP untuk Penjelasan
Selain memberikan penjelasan untuk inferensi per instance, SageMaker Clarify juga mendukung penjelasan global untuk model ML yang membantu Anda memahami perilaku model secara keseluruhan dalam hal fitur-fiturnya. SageMaker Clarify menghasilkan penjelasan global dari model ML dengan menggabungkan nilai-nilai Shapley pada beberapa contoh. SageMaker Clarify mendukung berbagai cara agregasi berikut, yang dapat Anda gunakan untuk menentukan garis dasar:
-
mean_abs
— Rata-rata nilai SHAP absolut untuk semua contoh. -
median
— Median nilai SHAP untuk semua instance. -
mean_sq
— Rata-rata nilai SHAP kuadrat untuk semua instance.
Setelah Anda mengonfigurasi aplikasi untuk menangkap data inferensi transformasi real-time atau batch, tugas pertama untuk memantau drift dalam atribusi fitur adalah membuat baseline untuk dibandingkan. Ini melibatkan konfigurasi input data, grup mana yang sensitif, bagaimana prediksi ditangkap, dan model serta metrik bias pasca-pelatihannya. Maka Anda perlu memulai pekerjaan baselining. Monitor penjelasan model dapat menjelaskan prediksi model yang diterapkan yang menghasilkan kesimpulan dan mendeteksi penyimpangan atribusi fitur secara teratur.
model_explainability_monitor = ModelExplainabilityMonitor( role=role, sagemaker_session=sagemaker_session, max_runtime_in_seconds=1800, )
Dalam contoh ini, pekerjaan baselining yang dapat dijelaskan membagikan kumpulan data pengujian dengan pekerjaan dasar bias, sehingga menggunakan pekerjaan yang samaDataConfig
, dan satu-satunya perbedaan adalah URI keluaran pekerjaan.
model_explainability_baselining_job_result_uri = f"{baseline_results_uri}/model_explainability"
model_explainability_data_config = DataConfig(
s3_data_input_path=validation_dataset,
s3_output_path=model_explainability_baselining_job_result_uri,
label=label_header,
headers=all_headers,
dataset_type=dataset_type,
)
Saat ini penjelasan SageMaker Clarify menawarkan implementasi SHAP yang skalabel dan efisien, jadi konfigurasi yang dapat dijelaskan adalah, termasuk yang berikut: SHAPConfig
-
baseline
— Daftar baris (setidaknya satu) atau URI objek S3 untuk digunakan sebagai dataset dasar dalam algoritma Kernel SHAP. Formatnya harus sama dengan format dataset. Setiap baris harus hanya berisi fiturcolumns/values and omit the label column/values. -
num_samples
— Jumlah sampel yang akan digunakan dalam algoritma Kernel SHAP. Angka ini menentukan ukuran kumpulan data sintetis yang dihasilkan untuk menghitung nilai SHAP. -
agg_method — Metode agregasi untuk nilai SHAP global. Berikut ini adalah nilai yang valid:
-
mean_abs
— Rata-rata nilai SHAP absolut untuk semua contoh. -
median
— Median nilai SHAP untuk semua instance. -
mean_sq
— Rata-rata nilai SHAP kuadrat untuk semua instance.
-
-
use_logit
— Indikator apakah fungsi logit akan diterapkan pada prediksi model. Default-nya adalahFalse
. Jikause_logit
yaTrue
, nilai SHAP akan memiliki unit log-odds. -
save_local_shap_values
(bool) — Indikator apakah akan menyimpan nilai SHAP lokal di lokasi output. Default-nya adalahFalse
.
# Here use the mean value of test dataset as SHAP baseline
test_dataframe = pd.read_csv(test_dataset, header=None)
shap_baseline = [list(test_dataframe.mean())]
shap_config = SHAPConfig(
baseline=shap_baseline,
num_samples=100,
agg_method="mean_abs",
save_local_shap_values=False,
)
Mulai pekerjaan dasar. model_config
Hal yang sama diperlukan karena pekerjaan dasar penjelasan perlu membuat titik akhir bayangan untuk mendapatkan prediksi untuk kumpulan data sintetis yang dihasilkan.
model_explainability_monitor.suggest_baseline(
data_config=model_explainability_data_config,
model_config=model_config,
explainability_config=shap_config,
)
print(f"ModelExplainabilityMonitor baselining job: {model_explainability_monitor.latest_baselining_job_name}")