Sasaran
Jika pengguna bermaksud untuk memahami prediksi terbaik dan terburuk, API harus memungkinkan mereka untuk melihat Indeks penjelasan.
Jika pengguna dapat memberikan kolom indeks (mungkin melalui DataTables), ID indeks tersebut dapat ditampilkan dalam laporan yang dikeluarkan oleh explain_predictions_best_worst
.
Jika pengguna tidak memberikan kolom indeks, ID indeks tidak boleh ditampilkan dalam laporan.
Usul
Tambahkan ID indeks ke penjelasan prediksi, jika pengguna menyediakan kolom indeks di X.
Perhatikan ID Indeks:
Best 1 of 2
Predicted Probabilities: [benign: 0.0, malignant: 1.0]
Predicted Value: malignant
Target Value: malignant
Cross Entropy: 0.0
Index ID: 45
Feature Name Feature Value Contribution to SHAP Value
Prediction
================================================================================
worst perimeter 155.30 + 0.10
worst radius 23.14 + 0.08
worst concave points 0.17 + 0.08
worst fractal dimension 0.09 - -0.00
compactness error 0.04 - -0.00
worst symmetry 0.22 - -0.00
Best 2 of 2
Predicted Probabilities: [benign: 0.0, malignant: 1.0]
Predicted Value: malignant
Target Value: malignant
Cross Entropy: 0.0
Index ID: 2
Feature Name Feature Value Contribution to Prediction SHAP Value
==============================================================================
worst perimeter 166.10 + 0.10
worst radius 25.45 + 0.08
worst concave points 0.22 + 0.08
compactness error 0.03 - -0.00
worst compactness 0.21 - -0.00
worst symmetry 0.21 - -0.00
Worst 1 of 2
Predicted Probabilities: [benign: 0.552, malignant: 0.448]
Predicted Value: benign
Target Value: malignant
Cross Entropy: 0.802
Index ID: 7
Feature Name Feature Value Contribution to Prediction SHAP Value
==============================================================================
smoothness error 0.00 + 0.04
mean texture 21.58 + 0.03
worst texture 30.25 + 0.02
worst concave points 0.11 - -0.02
worst radius 15.93 - -0.03
mean concave points 0.02 - -0.03
@gsheni apa yang Anda maksud dengan "Indeks penjelasan"? Apa "indeks" dalam konteks ini?
Apakah Anda meminta informasi ini untuk a) muncul secara visual (yang saya yakin sudah demikian), b) muncul di respons JSON baru yang ditambahkan @freddyaboulton , dalam hal ini mengapa tidak menggunakan posisi dalam daftar saja sebagai indeks?
Setiap penjelasan adalah referensi ke elemen (instance) di X. Instance itu harus memiliki indeks. Saya pikir indeks itu harus ada dalam laporan.
Saya tidak percaya informasi ini muncul secara visual. Saya tidak melihatnya di dokumen:
https://evalml.featurelabs.com/en/latest/user_guide/model_understanding.html#Explaining -Multiple-Predictions
Saya juga berbicara dengan @freddyaboulton dan mengkonfirmasi ini.
@gsheni adalah contoh Anda kan? untuk satu penjelasan, seharusnya hanya ada 1 nilai indeks, mengapa Anda memilikinya berbeda untuk setiap fitur?
@gsheni ah, jadi ingin tahu, untuk setiap penjelasan prediksi yang dihasilkan, apa indeks dalam kerangka data fitur?
Jika demikian, bukankah penelepon selalu mengetahui indeks itu? Karena untuk memanggil penjelasan prediksi, Anda harus melewati beberapa baris. Dan untuk melewati baris, Anda harus memilih baris mana yang akan dilewati :)
Anda benar bahwa saat ini kami tidak menampilkan nilai indeks fitur DF dalam penjelasan prediksi yang dikembalikan oleh evalml. Saya kira saya tidak menganggap itu sebagai nilai tambah karena penelepon harus mengetahui info itu untuk menelepon.
Jika saya salah paham tolong beri tahu saya
@kmax12 ya, Anda benar. Memperbaiki contoh hasil cetak.
@dsherry Ya, saya kira penelepon bisa mendapatkan informasi itu jika mereka mau. Itu akan mengharuskan penelepon menjalankan kembali yang berikut (di luar explain_predictions_best_worst)
(regresi)
y_pred = pipeline.predict(input_features)
errors = metric(y_true, y_pred)
sorted_scores = errors.sort_values()
best = sorted_scores.index[:num_to_explain]
worst = sorted_scores.index[-num_to_explain:]
@gsheni Ya, Anda benar. Saya setuju bahwa menambahkan nilai indeks ke output explain_predictions_best_worst
dapat menambah nilai bagi pengguna.
Terima kasih semua atas klarifikasinya. Ya setuju. Saya memasukkan ini ke dalam lemari es karena menurut saya ini bukan prioritas utama. Jika ada yang merasa berbeda, mari kita bicara.
Komentar yang paling membantu
@gsheni Ya, Anda benar. Saya setuju bahwa menambahkan nilai indeks ke output
explain_predictions_best_worst
dapat menambah nilai bagi pengguna.