Halaman ini menjelaskan cara menggunakan tingkat kepentingan fitur untuk memperoleh visibilitas terkait cara model membuat prediksinya.
Untuk mengetahui informasi selengkapnya tentang AI Explanations, lihat Pengantar AI Explanations untuk AI Platform.
Pengantar
Saat Anda menggunakan model machine learning untuk membuat keputusan bisnis, penting untuk memahami bagaimana data pelatihan Anda berkontribusi pada model akhir, dan bagaimana model tersebut menghasilkan prediksi individual. Pemahaman ini membantu Anda memastikan bahwa model Anda sudah adil dan akurat.
AutoML Tables memberikan nilai penting fitur, terkadang disebut atribusi fitur, yang memungkinkan Anda melihat fitur mana yang paling berkontribusi pada pelatihan model (nilai penting fitur model) dan prediksi individual (nilai penting fitur lokal).
AutoML Tables menghitung nilai penting fitur menggunakan metode Sampled Shapley. Untuk mengetahui informasi selengkapnya tentang penjelasan model, lihat Pengantar Penjelasan AI.
Nilai penting fitur model
Nilai penting fitur model membantu Anda memastikan bahwa fitur yang menginformasikan pelatihan model sesuai untuk data dan masalah bisnis Anda. Semua fitur dengan nilai kepentingan fitur yang tinggi harus mewakili sinyal yang valid untuk prediksi, dan dapat disertakan secara konsisten dalam permintaan prediksi Anda.
Nilai penting fitur model diberikan sebagai persentase untuk setiap fitur: semakin tinggi persentasenya, semakin kuat fitur tersebut memengaruhi pelatihan model.
Mendapatkan nilai penting fitur model
Konsol
Untuk melihat nilai kepentingan fitur model Anda menggunakan Konsol Google Cloud:
Buka halaman AutoML Tables di Konsol Google Cloud.
Pilih tab Models di panel navigasi sebelah kiri, lalu pilih model yang metrik evaluasinya ingin Anda dapatkan.
Buka tab Evaluate.
Scroll ke bawah untuk melihat grafik Tingkat kepentingan fitur.
REST
Untuk mendapatkan nilai nilai penting fitur untuk model, Anda menggunakan metode model.get.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
endpoint:
automl.googleapis.com
untuk lokasi global, daneu-automl.googleapis.com
untuk region Uni Eropa. - project-id: Project ID Google Cloud Anda.
- location: lokasi untuk resource:
us-central1
untuk Global ataueu
untuk Uni Eropa. -
model-id: ID model yang informasi pentingnya fiturnya ingin Anda dapatkan.
Contoh,
TBL543
.
Metode HTTP dan URL:
GET https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id" | Select-Object -Expand Content
{ "name": "projects/292381/locations/us-central1/models/TBL543", "displayName": "Quickstart_Model", ... "tablesModelMetadata": { "targetColumnSpec": { ... }, "inputFeatureColumnSpecs": [ ... ], "optimizationObjective": "MAXIMIZE_AU_ROC", "tablesModelColumnInfo": [ { "columnSpecName": "projects/292381/locations/us-central1/datasets/TBL543/tableSpecs/246/columnSpecs/331", "columnDisplayName": "Contact", "featureImportance": 0.093201876 }, { "columnSpecName": "projects/292381/locations/us-central1/datasets/TBL543/tableSpecs/246/columnSpecs/638", "columnDisplayName": "Month", "featureImportance": 0.215029223 }, ... ], "trainBudgetMilliNodeHours": "1000", "trainCostMilliNodeHours": "1000", "classificationType": "BINARY", "predictionSampleRows": [ ... ], "splitPercentageConfig": { ... } }, "creationState": "CREATED", "deployedModelSizeBytes": "1160941568" }
Java
Jika resource Anda berada di region Uni Eropa, Anda harus menetapkan endpoint secara eksplisit. Pelajari lebih lanjut.
Node.js
Jika resource Anda berada di region Uni Eropa, Anda harus menetapkan endpoint secara eksplisit. Pelajari lebih lanjut.
Python
Library klien untuk AutoML Tables menyertakan metode Python tambahan yang menyederhanakan penggunaan AutoML Tables API. Metode ini merujuk pada set data dan model berdasarkan nama, bukan ID. Nama set data dan model Anda harus unik. Untuk mengetahui informasi selengkapnya, lihat Referensi klien.
Jika resource Anda berada di region Uni Eropa, Anda harus menetapkan endpoint secara eksplisit. Pelajari lebih lanjut.
Tingkat kepentingan fitur lokal
Nilai penting fitur lokal memberi Anda visibilitas tentang pengaruh setiap fitur dalam permintaan prediksi tertentu terhadap prediksi yang dihasilkan.
Untuk mendapatkan nilai kepentingan fitur lokal, pertama-tama skor prediksi dasar pengukuran akan dihitung. Nilai dasar pengukuran dihitung dari data pelatihan, menggunakan nilai median untuk fitur numerik dan mode untuk fitur kategoris. Prediksi yang dihasilkan dari nilai dasar pengukuran adalah skor prediksi dasar.
Untuk model klasifikasi, nilai penting fitur lokal memberi tahu Anda jumlah setiap fitur yang ditambahkan ke atau dikurangi dari probabilitas yang ditetapkan untuk class yang memiliki skor tertinggi, dibandingkan dengan skor prediksi dasar pengukuran. Nilai skor antara 0,0 dan 1,0, sehingga nilai penting fitur lokal untuk model klasifikasi selalu antara -1,0 dan 1,0 (inklusif).
Untuk model regresi, nilai penting fitur lokal untuk prediksi menunjukkan jumlah setiap fitur yang ditambahkan atau dikurangi dari hasil dibandingkan dengan skor prediksi dasar pengukuran.
Nilai penting fitur lokal tersedia untuk prediksi online dan batch.
Mendapatkan nilai penting fitur lokal untuk prediksi online
Konsol
Guna mendapatkan nilai pentingnya fitur lokal untuk prediksi online menggunakan Konsol Google Cloud, ikuti langkah-langkah dalam Mendapatkan prediksi online, dan pastikan Anda mencentang kotak Buat nilai penting fitur.
REST
Agar mendapatkan nilai penting fitur lokal untuk permintaan prediksi online, gunakan metode model.predict
, menetapkan parameter feature_importance
ke benar (true).
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
endpoint:
automl.googleapis.com
untuk lokasi global, daneu-automl.googleapis.com
untuk region Uni Eropa. - project-id: Project ID Google Cloud Anda.
- location: lokasi untuk resource:
us-central1
untuk Global ataueu
untuk Uni Eropa. - model-id: ID model. Contoh,
TBL543
. - valueN: nilai untuk setiap kolom, dalam urutan yang benar.
Metode HTTP dan URL:
POST https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:predict
Isi JSON permintaan:
{ "payload": { "row": { "values": [ value1, value2,... ] } } "params": { "feature_importance": "true" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:predict"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:predict" | Select-Object -Expand Content
"tablesModelColumnInfo": [ { "columnSpecName": "projects/2381/locations/us-central1/datasets/TBL8440/tableSpecs/766336/columnSpecs/4704", "columnDisplayName": "Promo", "featureImportance": 1626.5464 }, { "columnSpecName": "projects/2381/locations/us-central1/datasets/TBL8440/tableSpecs/766336/columnSpecs/6800", "columnDisplayName": "Open", "featureImportance": -7496.5405 }, { "columnSpecName": "projects/2381/locations/us-central1/datasets/TBL8440/tableSpecs/766336/columnSpecs/9824", "columnDisplayName": "StateHoliday" } ],
Jika kolom memiliki nilai kepentingan fitur 0, tingkat kepentingan fitur tidak akan ditampilkan untuk kolom tersebut.
Java
Jika resource Anda berada di region Uni Eropa, Anda harus menetapkan endpoint secara eksplisit. Pelajari lebih lanjut.
Node.js
Jika resource Anda berada di region Uni Eropa, Anda harus menetapkan endpoint secara eksplisit. Pelajari lebih lanjut.
Python
Library klien untuk AutoML Tables menyertakan metode Python tambahan yang menyederhanakan penggunaan AutoML Tables API. Metode ini merujuk pada set data dan model berdasarkan nama, bukan ID. Nama set data dan model Anda harus unik. Untuk mengetahui informasi selengkapnya, lihat Referensi klien.
Jika resource Anda berada di region Uni Eropa, Anda harus menetapkan endpoint secara eksplisit. Pelajari lebih lanjut.
Mendapatkan nilai penting fitur lokal untuk prediksi batch
Konsol
Guna mendapatkan nilai pentingnya fitur lokal untuk prediksi batch menggunakan Konsol Google Cloud, ikuti langkah-langkah dalam Meminta prediksi batch, dan pastikan Anda mencentang kotak Buat nilai penting fitur.
Nilai penting fitur ditampilkan dengan menambahkan kolom baru untuk setiap fitur, yang bernama feature_importance.<feature_name>
.
REST
Agar mendapatkan nilai penting fitur lokal bagi permintaan prediksi batch, gunakan metode model.batchPredict
, dengan menetapkan parameter feature_importance
ke benar (true).
Contoh berikut menggunakan BigQuery untuk data permintaan dan hasilnya; Anda menggunakan parameter tambahan yang sama untuk permintaan menggunakan Cloud Storage.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
endpoint:
automl.googleapis.com
untuk lokasi global, daneu-automl.googleapis.com
untuk region Uni Eropa. - project-id: Project ID Google Cloud Anda.
- location: lokasi untuk resource:
us-central1
untuk Global ataueu
untuk Uni Eropa. - model-id: ID model. Contoh,
TBL543
. - dataset-id: ID set data BigQuery tempat data prediksi berada.
-
table-id: ID tabel BigQuery tempat data prediksi berada.
AutoML Tables membuat subfolder untuk hasil prediksi yang bernama
prediction-<model_name>-<timestamp>
dalam project-id.dataset-id.table-id.
Metode HTTP dan URL:
POST https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:batchPredict
Isi JSON permintaan:
{ "inputConfig": { "bigquerySource": { "inputUri": "bq://project-id.dataset-id.table-id" }, }, "outputConfig": { "bigqueryDestination": { "outputUri": "bq://project-id" }, }, "params": {"feature_importance": "true"} }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:batchPredict"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:batchPredict" | Select-Object -Expand Content
Nilai penting fitur ditampilkan dengan menambahkan kolom baru untuk setiap fitur, yang bernama feature_importance.<feature_name>
.
Pertimbangan untuk menggunakan tingkat kepentingan fitur lokal:
Hasil kepentingan fitur lokal hanya tersedia untuk model yang dilatih pada atau setelah 15 November 2019.
Mengaktifkan nilai penting fitur lokal pada permintaan prediksi batch yang memiliki lebih dari 1.000.000 baris atau 300 kolom tidak didukung.
Setiap nilai kepentingan fitur lokal hanya menunjukkan seberapa besar pengaruh fitur tersebut terhadap prediksi untuk baris tersebut. Untuk memahami perilaku model secara keseluruhan, gunakan nilai penting fitur model.
Nilai kepentingan fitur lokal selalu relatif terhadap nilai dasar pengukuran. Pastikan Anda mereferensikan nilai dasar pengukuran saat mengevaluasi hasil nilai penting fitur lokal. Nilai dasar pengukuran hanya tersedia dari Konsol Google Cloud.
Nilai kepentingan fitur lokal sepenuhnya bergantung pada model dan data yang digunakan untuk melatih model. Modul ini hanya dapat mengetahui pola yang ditemukan model dalam data, dan tidak dapat mendeteksi hubungan mendasar apa pun dalam data. Jadi, adanya nilai penting fitur yang tinggi untuk fitur tertentu tidak menunjukkan hubungan antara fitur tersebut dan targetnya; tetapi hanya menunjukkan bahwa model menggunakan fitur tersebut dalam prediksinya.
Jika prediksi menyertakan data yang sepenuhnya berada di luar rentang data pelatihan, tingkat kepentingan fitur lokal mungkin tidak memberikan hasil yang berarti.
Menghasilkan nilai penting fitur akan meningkatkan waktu dan resource komputasi yang diperlukan untuk prediksi Anda. Selain itu, permintaan Anda menggunakan kuota yang berbeda dengan permintaan prediksi yang tidak memiliki tingkat kepentingan fitur. Pelajari lebih lanjut.
Nilai kepentingan fitur saja tidak dapat memberi tahu Anda apakah model Anda adil, tidak bias, atau memiliki kualitas suara. Anda harus mengevaluasi set data pelatihan, prosedur, dan metrik evaluasi dengan cermat, selain tingkat kepentingan fitur.