EXPLAIN_ MODEL fungsi - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

EXPLAIN_ MODEL fungsi

MODELFungsi EXPLAIN _ mengembalikan tipe SUPER data yang berisi laporan penjelasan model dalam format. JSON Laporan penjelasan berisi informasi tentang nilai Shapley untuk semua fitur model.

MODELFungsi EXPLAIN _ saat ini hanya mendukung AUTO ON atau AUTO OFF XGBoost model.

Ketika laporan penjelasan tidak tersedia, fungsi mengembalikan status yang ditampilkan pada kemajuan model. Ini termasukWaiting for training job to complete,Waiting for processing job to complete, danProcessing job failed.

Ketika Anda menjalankan CREATE MODEL pernyataan, status penjelasan menjadiWaiting for training job to complete. Ketika model telah dilatih dan permintaan penjelasan dikirim, status penjelasan menjadiWaiting for processing job to complete. Ketika penjelasan model berhasil diselesaikan, laporan penjelasan lengkap tersedia. Jika tidak, negara menjadiProcessing job failed.

Saat Anda menjalankan CREATE MODEL pernyataan, Anda dapat menggunakan MAX_RUNTIME parameter opsional untuk menentukan jumlah waktu maksimum yang harus diambil pelatihan. Setelah pembuatan model mencapai jumlah waktu tersebut, Amazon Redshift berhenti membuat model. Jika Anda mencapai batas waktu itu saat membuat model autopilot, Amazon Redshift akan mengembalikan model terbaik sejauh ini. Keterjelasan model menjadi tersedia setelah pelatihan model selesai, jadi jika MAX_RUNTIME diatur ke jumlah waktu yang rendah, laporan penjelasan mungkin tidak tersedia. Waktu pelatihan bervariasi dan tergantung pada kompleksitas model, ukuran data, dan faktor lainnya.

Sintaks

EXPLAIN_MODEL ('schema_name.model_name')

Pendapat

schema_name

Nama skema. Jika tidak ada schema_name yang ditentukan, maka skema saat ini dipilih.

nama_model

Nama modul. Nama model dalam skema harus unik.

Jenis pengembalian

MODELFungsi EXPLAIN _ mengembalikan tipe SUPER data, seperti yang ditunjukkan berikut.

{"version":"1.0","explanations":{"kernel_shap":{"label0":{"global_shap_values":{"x0":0.05,"x1":0.10,"x2":0.30,"x3":0.15},"expected_value":0.50}}}}

Contoh

Contoh berikut mengembalikan status penjelasanwaiting for training job to complete.

select explain_model('customer_churn_auto_model'); explain_model -------------------------------------------------------- {"explanations":"waiting for training job to complete"} (1 row)

Ketika penjelasan model berhasil diselesaikan, laporan penjelasan lengkap tersedia sebagai berikut.

select explain_model('customer_churn_auto_model'); explain_model ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ {"version":"1.0","explanations":{"kernel_shap":{"label0":{"global_shap_values":{"x0":0.05386043365892927,"x1":0.10801289723274592,"x2":0.23227865827017378,"x3":0.0676685133940455,"x4":0.0897097667672375,"x5":0.08502141653270926,"x6":0.07581993936077065,"x7":0.16462880604578135},"expected_value":0.8492974042892456}}}} (1 row)

Karena MODEL fungsi EXPLAIN _ mengembalikan tipe SUPER data, Anda dapat meminta laporan penjelasan. Dengan melakukan ini, Anda dapat mengekstrakglobal_shap_values,expected_value, atau nilai Shapley khusus fitur.

Contoh berikut ekstrak global_shap_values untuk model.

select json_table.report.explanations.kernel_shap.label0.global_shap_values from (select explain_model('customer_churn_auto_model') as report) as json_table; global_shap_values -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {"state":0.10983770427197151,"account_length":0.1772441398408543,"area_code":0.08626823968639591,"phone":0.0736669595282712,"intl_plan":3.344907436910987,"vmail_plan":0.09646600597854467,"vmail_message":0.2064922655089351,"day_mins":2.015038015251777,"day_calls":0.13179511076780168,"day_charge":0.4941091720480879,"eve_mins":0.46081379198626105,"eve_calls":0.16913440417758477,"eve_charge":0.09651014369401761,"night_mins":0.44218153640050845,"night_calls":0.15311640089218997,"night_charge":0.13850366104495426,"intl_mins":0.7583662464883899,"intl_calls":0.47144468610485685,"intl_charge":0.10945894673611875,"cust_serv_calls":0.31822051038387733} (1 row)

Contoh berikut ekstrak global_shap_values untuk fitur x0.

select json_table.report.explanations.kernel_shap.label0.global_shap_values.x0 from (select explain_model('customer_churn_auto_model') as report) as json_table; x0 ------------------------ 0.05386043365892927 (1 row)

Jika model dibuat dalam skema tertentu dan Anda memiliki akses ke model yang dibuat, maka Anda dapat meminta penjelasan model seperti yang ditunjukkan berikut.

-- Check the current schema SHOW search_path; search_path ------------------ $user, public (1 row) -- If you have the privilege to access the model explanation -- in `test_schema` SELECT explain_model('test_schema.test_model_name'); explain_model --------------------------------------------------------- {"explanations":"waiting for training job to complete"} (1 row)