Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon SageMaker Clarify Explainability Monitor menggunakan kembali subset parameter yang digunakan dalam konfigurasi analisis. File Konfigurasi Analisis Parameter berikut harus disediakan dalam file JSON dan jalur harus disediakan dalam ConfigUri
parameter. ModelExplainabilityAppSpecification
-
"version"
— (Opsional) Versi skema dari file konfigurasi. Jika tidak disediakan, versi terbaru yang didukung digunakan. -
"headers"
— (Opsional) Daftar nama fitur dalam dataset. Analisis penjelasan tidak memerlukan label. -
"methods"
— Daftar metode dan parameternya untuk analisis dan laporan. Jika ada bagian yang dihilangkan, maka itu tidak dihitung.-
"shap"
- (Opsional) Bagian tentang perhitungan nilai SHAP.-
"baseline"
— (Opsional) Daftar baris (setidaknya satu), atau URI objek Amazon Simple Storage Service Amazon S3. Untuk digunakan sebagai dataset dasar (juga dikenal sebagai dataset latar belakang) dalam algoritma Kernel SHAP. Formatnya harus sama dengan format dataset. Setiap baris harus berisi hanya kolom fitur (atau nilai). Sebelum Anda mengirim setiap baris ke model, hilangkan kolom apa pun yang harus dikecualikan. -
"num_samples"
— Jumlah sampel yang akan digunakan dalam algoritma Kernel SHAP. Angka ini menentukan ukuran kumpulan data sintetis yang dihasilkan untuk menghitung nilai SHAP. Jika tidak disediakan, maka pekerjaan SageMaker Clarify memilih nilai berdasarkan jumlah fitur. -
"agg_method"
— Metode agregasi untuk nilai SHAP global. Nilai yang valid adalah sebagai berikut:-
"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"
— (Opsional) Nilai Boolean untuk menunjukkan apakah fungsi logit akan diterapkan pada prediksi model. Jika"use_logit"
ya
, maka nilai SHAP memiliki unit log-odds. Nilai default-nya adalahtrue
false
. -
"save_local_shap_values"
— (Opsional) Nilai Boolean untuk menunjukkan apakah nilai SHAP lokal akan disimpan di lokasi output. Gunakantrue
untuk menyelamatkan mereka. Gunakanfalse
untuk tidak menyelamatkan mereka. Default-nya adalahfalse
.
-
-
-
"predictor"
— (Opsional untuk titik akhir real-time, diperlukan untuk transformasi batch) Bagian tentang parameter model, diperlukan jika"shap"
dan"post_training_bias"
bagian ada.-
"model_name"
— Nama model yang dibuat olehCreateModel
API, dengan mode kontainer sebagaiSingleModel
. -
"instance_type"
— Jenis instance untuk titik akhir bayangan. -
"initial_instance_count"
— Jumlah instans untuk titik akhir bayangan. -
"content_type"
— (Opsional) Format input model yang akan digunakan untuk mendapatkan kesimpulan dengan titik akhir bayangan. Nilai yang valid adalah"text/csv"
untuk CSV,"application/jsonlines"
untuk JSON Lines, untuk Apache Parquet, danapplication/x-parquet
application/x-image
untuk memungkinkan penjelasan Computer Vision. Nilai defaultnya sama dengandataset_type
formatnya. -
"accept_type"
— (Opsional) Format keluaran model yang akan digunakan untuk mendapatkan kesimpulan dengan titik akhir bayangan. Nilai yang valid adalah"text/csv"
untuk CSV,"application/jsonlines"
untuk JSON Lines. Jika dihilangkan, SageMaker Clarify menggunakan tipe data respons dari data yang diambil. -
"content_template"
— (Opsional) String template yang digunakan untuk membangun input model dari instance dataset. Ini hanya digunakan ketika"content_type"
ada"application/jsonlines"
. Template seharusnya hanya memiliki satu placeholder$features
, yang digantikan oleh daftar fitur saat runtime. Misalnya, diberikan"content_template":"{\"myfeatures\":$features}"
, jika sebuah instance (tidak ada label)1,2,3
, maka input model menjadi JSON Lines'{"myfeatures":[1,2,3]}'
. -
"label_headers"
— (Opsional) Daftar nilai yang"label"
diambil dalam dataset. Mengaitkan skor yang dikembalikan oleh titik akhir model atau pekerjaan transformasi batch dengan nilai label yang sesuai. Jika disediakan, maka laporan analisis menggunakan header alih-alih placeholder seperti.“label0”
-
Parameter lain harus disediakan di EndpointInput
(untuk titik akhir waktu nyata) atau BatchTransformInput
(untuk pekerjaan transformasi batch) dari ModelExplainabilityJobInput
API.
-
FeaturesAttribute
— Parameter ini diperlukan jika format data input pekerjaan endpoint atau batch."application/jsonlines"
Ini JMESPath digunakan untuk menemukan kolom fitur jika format dataset adalah JSON Lines. -
ProbabilityAttribute
— Indeks atau JMESPath lokasi dalam output model untuk probabilitas. Jika keluaran model adalah JSON Lines dengan daftar label dan probabilitas, misalnya, maka label yang sesuai dengan probabilitas maksimum dipilih untuk perhitungan bias.
Contoh File Konfigurasi JSON untuk Kumpulan Data Garis CSV dan JSON
Berikut adalah contoh file JSON yang digunakan untuk mengonfigurasi kumpulan data CSV dan JSON Lines untuk memantaunya untuk penyimpangan atribusi fitur.
Kumpulan Data CSV
Pertimbangkan kumpulan data yang memiliki tiga kolom fitur numerik, seperti pada contoh berikut.
0.5814568701544718, 0.6651538910132964, 0.3138080342665499
0.6711642728531724, 0.7466687034026017, 0.1215477472819713
0.0453256543003371, 0.6377430803264152, 0.3558625219713576
0.4785191813363956, 0.0265841045263860, 0.0376935084990697
Asumsikan bahwa keluaran model memiliki dua kolom, di mana yang pertama adalah label yang diprediksi dan yang kedua adalah probabilitas, seperti pada contoh berikut.
1, 0.5385257417814224
Contoh file konfigurasi JSON berikut menunjukkan bagaimana kumpulan data CSV ini dapat dikonfigurasi.
{
"headers": [
"feature_1",
"feature_2",
"feature_3"
],
"methods": {
"shap": {
"baseline": [
[0.4441164946610942, 0.5190374448171748, 0.20722795300473712]
],
"num_samples": 100,
"agg_method": "mean_abs"
}
},
"predictor": {
"model_name": "my_model",
"instance_type": "ml.m5.xlarge",
"initial_instance_count": 1
}
}
Label yang diprediksi dipilih oleh "ProbabilityAttribute"
parameter. Penomoran berbasis nol digunakan, jadi 1 menunjukkan kolom kedua dari output model.
"EndpointInput": {
...
"ProbabilityAttribute": 1
...
}
Kumpulan Data JSON Lines
Pertimbangkan kumpulan data yang memiliki empat kolom fitur dan satu kolom label, di mana fitur pertama dan labelnya adalah biner, seperti pada contoh berikut.
{"features":[0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499], "label":0}
{"features":[1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713], "label":1}
{"features":[0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576], "label":1}
{"features":[1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697], "label":1}
Masukan model sama dengan format dataset, dan output modelnya adalah JSON Lines, seperti pada contoh berikut.
{"predicted_label":1, "probability":0.5385257417814224}
Dalam contoh berikut, file konfigurasi JSON menunjukkan bagaimana dataset JSON Lines ini dapat dikonfigurasi.
{
"headers": [
"feature_1",
"feature_2",
"feature_3"
],
"methods": {
"shap": {
"baseline": [
{"features":[0.4441164946610942, 0.5190374448171748, 0.20722795300473712]}
],
"num_samples": 100,
"agg_method": "mean_abs"
}
},
"predictor": {
"model_name": "my_model",
"instance_type": "ml.m5.xlarge",
"initial_instance_count": 1,
"content_template":"{\"features\":$features}"
}
}
Kemudian nilai "features"
parameter di EndpointInput
(untuk titik akhir waktu nyata) atau BatchTransformInput
(untuk pekerjaan transformasi batch) digunakan untuk menemukan fitur dalam kumpulan data, dan nilai "probability"
parameter memilih nilai probabilitas dari keluaran model.
"EndpointInput": {
...
"FeaturesAttribute": "features",
"ProbabilityAttribute": "probability",
...
}