

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# Fungsi pembelajaran mesin
<a name="ml-function"></a>

Dengan menggunakan pembelajaran mesin Amazon Redshift (ML), Anda dapat melatih model ML menggunakan pernyataan SQL dan memanggilnya dalam kueri SQL untuk prediksi. Keterjelasan model Amazon Redshift mencakup nilai kepentingan fitur untuk membantu Anda memahami bagaimana setiap atribut dalam data pelatihan berkontribusi pada hasil yang diprediksi.

Berikut ini, Anda dapat menemukan deskripsi untuk fungsi pembelajaran mesin untuk SQL yang didukung Amazon Redshift.

**Topics**
+ [Fungsi EXPLAIN\$1MODEL](r_explain_model_function.md)

# Fungsi EXPLAIN\$1MODEL
<a name="r_explain_model_function"></a>

Fungsi EXPLAIN\$1MODEL mengembalikan tipe data SUPER yang berisi laporan penjelasan model dalam format JSON. Laporan penjelasan berisi informasi tentang nilai Shapley untuk semua fitur model.

Fungsi EXPLAIN\$1MODEL saat ini hanya mendukung model AUTO ON atau AUTO OFF. XGBoost

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

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

Ketika Anda menjalankan pernyataan CREATE MODEL, Anda dapat menggunakan `MAX_RUNTIME` parameter opsional untuk menentukan jumlah maksimum waktu pelatihan harus mengambil. 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.

## Sintaksis
<a name="r_explain_model_function-synopsis"></a>

```
EXPLAIN_MODEL ('schema_name.model_name')
```

## Pendapat
<a name="r_explain_model_function-argument"></a>

 *schema\$1name*   
Nama skema. Jika tidak ada schema\$1name yang ditentukan, maka skema saat ini dipilih.

 *nama\$1model*   
Nama modul. Nama model dalam skema harus unik.

## Jenis pengembalian
<a name="r_explain_model_function-return-type"></a>

Fungsi EXPLAIN\$1MODEL mengembalikan tipe data SUPER, 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
<a name="r_explain_model_function-examples"></a>

Contoh berikut mengembalikan status penjelasan`waiting 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 fungsi EXPLAIN\$1MODEL mengembalikan tipe data SUPER, Anda dapat menanyakan laporan penjelasan. Dengan melakukan ini, Anda dapat mengekstrak`global_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)
```