Evalml: Penjelasan prediksi: tampilkan ID Indeks untuk penjelasan prediksi terbaik/terburuk

Dibuat pada 27 Agu 2020  ·  8Komentar  ·  Sumber: alteryx/evalml

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

enhancement

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.

Semua 8 komentar

@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:]
  • Saya kemudian harus menemukan ID indeks dari skor terbaik/terburuk.

@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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat