Menjelaskan prediksi

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:

  1. Buka halaman AutoML Tables di Konsol Google Cloud.

    Buka halaman AutoML Tables

  2. Pilih tab Models di panel navigasi sebelah kiri, lalu pilih model yang metrik evaluasinya ingin Anda dapatkan.

  3. Buka tab Evaluate.

  4. Scroll ke bawah untuk melihat grafik Tingkat kepentingan fitur.

Halaman evaluasi AutoML Tables

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, dan eu-automl.googleapis.com untuk region Uni Eropa.
  • project-id: Project ID Google Cloud Anda.
  • location: lokasi untuk resource: us-central1 untuk Global atau eu 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
Nilai kepentingan fitur untuk setiap kolom ditampilkan dalam objek TablesModelColumnInfo.
{
  "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.


import com.google.cloud.automl.v1beta1.AutoMlClient;
import com.google.cloud.automl.v1beta1.Model;
import com.google.cloud.automl.v1beta1.ModelName;
import com.google.cloud.automl.v1beta1.TablesModelColumnInfo;
import io.grpc.StatusRuntimeException;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

public class TablesGetModel {

  public static void main(String[] args) throws IOException, StatusRuntimeException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String region = "YOUR_REGION";
    String modelId = "YOUR_MODEL_ID";
    getModel(projectId, region, modelId);
  }

  // Demonstrates using the AutoML client to get model details.
  public static void getModel(String projectId, String computeRegion, String modelId)
      throws IOException, StatusRuntimeException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {

      // Get the full path of the model.
      ModelName modelFullId = ModelName.of(projectId, computeRegion, modelId);

      // Get complete detail of the model.
      Model model = client.getModel(modelFullId);

      // Display the model information.
      System.out.format("Model name: %s%n", model.getName());
      System.out.format(
          "Model Id: %s\n", model.getName().split("/")[model.getName().split("/").length - 1]);
      System.out.format("Model display name: %s%n", model.getDisplayName());
      System.out.format("Dataset Id: %s%n", model.getDatasetId());
      System.out.println("Tables Model Metadata: ");
      System.out.format(
          "\tTraining budget: %s%n", model.getTablesModelMetadata().getTrainBudgetMilliNodeHours());
      System.out.format(
          "\tTraining cost: %s%n", model.getTablesModelMetadata().getTrainBudgetMilliNodeHours());

      DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
      String createTime =
          dateFormat.format(new java.util.Date(model.getCreateTime().getSeconds() * 1000));
      System.out.format("Model create time: %s%n", createTime);

      System.out.format("Model deployment state: %s%n", model.getDeploymentState());

      // Get features of top importance
      for (TablesModelColumnInfo info :
          model.getTablesModelMetadata().getTablesModelColumnInfoList()) {
        System.out.format(
            "Column: %s - Importance: %.2f%n",
            info.getColumnDisplayName(), info.getFeatureImportance());
      }
    }
  }
}

Node.js

Jika resource Anda berada di region Uni Eropa, Anda harus menetapkan endpoint secara eksplisit. Pelajari lebih lanjut.

const automl = require('@google-cloud/automl');
const client = new automl.v1beta1.AutoMlClient();

/**
 * Demonstrates using the AutoML client to get model details.
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const projectId = '[PROJECT_ID]' e.g., "my-gcloud-project";
// const computeRegion = '[REGION_NAME]' e.g., "us-central1";
// const modelId = '[MODEL_ID]' e.g., "TBL4704590352927948800";

// Get the full path of the model.
const modelFullId = client.modelPath(projectId, computeRegion, modelId);

// Get complete detail of the model.
client
  .getModel({name: modelFullId})
  .then(responses => {
    const model = responses[0];

    // Display the model information.
    console.log(`Model name: ${model.name}`);
    console.log(`Model Id: ${model.name.split('/').pop(-1)}`);
    console.log(`Model display name: ${model.displayName}`);
    console.log(`Dataset Id: ${model.datasetId}`);
    console.log('Tables model metadata: ');
    console.log(
      `\tTraining budget: ${model.tablesModelMetadata.trainBudgetMilliNodeHours}`
    );
    console.log(
      `\tTraining cost: ${model.tablesModelMetadata.trainCostMilliNodeHours}`
    );
    console.log(`Model deployment state: ${model.deploymentState}`);
  })
  .catch(err => {
    console.error(err);
  });

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.

# TODO(developer): Uncomment and set the following variables
# project_id = 'PROJECT_ID_HERE'
# compute_region = 'COMPUTE_REGION_HERE'
# model_display_name = 'MODEL_DISPLAY_NAME_HERE'

from google.cloud import automl_v1beta1 as automl

client = automl.TablesClient(project=project_id, region=compute_region)

# Get complete detail of the model.
model = client.get_model(model_display_name=model_display_name)

# Retrieve deployment state.
if model.deployment_state == automl.Model.DeploymentState.DEPLOYED:
    deployment_state = "deployed"
else:
    deployment_state = "undeployed"

# get features of top importance
feat_list = [
    (column.feature_importance, column.column_display_name)
    for column in model.tables_model_metadata.tables_model_column_info
]
feat_list.sort(reverse=True)
if len(feat_list) < 10:
    feat_to_show = len(feat_list)
else:
    feat_to_show = 10

# Display the model information.
print(f"Model name: {model.name}")
print("Model id: {}".format(model.name.split("/")[-1]))
print(f"Model display name: {model.display_name}")
print("Features of top importance:")
for feat in feat_list[:feat_to_show]:
    print(feat)
print(f"Model create time: {model.create_time}")
print(f"Model deployment state: {deployment_state}")

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.

Kotak centang nilai penting fitur AutoML Tables

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, dan eu-automl.googleapis.com untuk region Uni Eropa.
  • project-id: Project ID Google Cloud Anda.
  • location: lokasi untuk resource: us-central1 untuk Global atau eu 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
Hasil tingkat kepentingan fitur ditampilkan dalam objek `tablesModelColumnInfo`.
"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.

import com.google.cloud.automl.v1beta1.AnnotationPayload;
import com.google.cloud.automl.v1beta1.ExamplePayload;
import com.google.cloud.automl.v1beta1.ModelName;
import com.google.cloud.automl.v1beta1.PredictRequest;
import com.google.cloud.automl.v1beta1.PredictResponse;
import com.google.cloud.automl.v1beta1.PredictionServiceClient;
import com.google.cloud.automl.v1beta1.Row;
import com.google.cloud.automl.v1beta1.TablesAnnotation;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

class TablesPredict {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String modelId = "YOUR_MODEL_ID";
    // Values should match the input expected by your model.
    List<Value> values = new ArrayList<>();
    // values.add(Value.newBuilder().setBoolValue(true).build());
    // values.add(Value.newBuilder().setNumberValue(10).build());
    // values.add(Value.newBuilder().setStringValue("YOUR_STRING").build());
    predict(projectId, modelId, values);
  }

  static void predict(String projectId, String modelId, List<Value> values) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (PredictionServiceClient client = PredictionServiceClient.create()) {
      // Get the full path of the model.
      ModelName name = ModelName.of(projectId, "us-central1", modelId);
      Row row = Row.newBuilder().addAllValues(values).build();
      ExamplePayload payload = ExamplePayload.newBuilder().setRow(row).build();

      // Feature importance gives you visibility into how the features in a specific prediction
      // request informed the resulting prediction. For more info, see:
      // https://cloud.google.com/automl-tables/docs/features#local
      PredictRequest request =
          PredictRequest.newBuilder()
              .setName(name.toString())
              .setPayload(payload)
              .putParams("feature_importance", "true")
              .build();

      PredictResponse response = client.predict(request);

      System.out.println("Prediction results:");
      for (AnnotationPayload annotationPayload : response.getPayloadList()) {
        TablesAnnotation tablesAnnotation = annotationPayload.getTables();
        System.out.format(
            "Classification label: %s%n", tablesAnnotation.getValue().getStringValue());
        System.out.format("Classification score: %.3f%n", tablesAnnotation.getScore());
        // Get features of top importance
        tablesAnnotation
            .getTablesModelColumnInfoList()
            .forEach(
                info ->
                    System.out.format(
                        "\tColumn: %s - Importance: %.2f%n",
                        info.getColumnDisplayName(), info.getFeatureImportance()));
      }
    }
  }
}

Node.js

Jika resource Anda berada di region Uni Eropa, Anda harus menetapkan endpoint secara eksplisit. Pelajari lebih lanjut.


/**
 * Demonstrates using the AutoML client to request prediction from
 * automl tables using csv.
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const projectId = '[PROJECT_ID]' e.g., "my-gcloud-project";
// const computeRegion = '[REGION_NAME]' e.g., "us-central1";
// const modelId = '[MODEL_ID]' e.g., "TBL000000000000";
// const inputs = [{ numberValue: 1 }, { stringValue: 'value' }, { stringValue: 'value2' } ...]

const automl = require('@google-cloud/automl');

// Create client for prediction service.
const automlClient = new automl.v1beta1.PredictionServiceClient();

// Get the full path of the model.
const modelFullId = automlClient.modelPath(projectId, computeRegion, modelId);

async function predict() {
  // Set the payload by giving the row values.
  const payload = {
    row: {
      values: inputs,
    },
  };

  // Params is additional domain-specific parameters.
  // Currently there is no additional parameters supported.
  const [response] = await automlClient.predict({
    name: modelFullId,
    payload: payload,
    params: {feature_importance: true},
  });
  console.log('Prediction results:');

  for (const result of response.payload) {
    console.log(`Predicted class name: ${result.displayName}`);
    console.log(`Predicted class score: ${result.tables.score}`);

    // Get features of top importance
    const featureList = result.tables.tablesModelColumnInfo.map(
      columnInfo => {
        return {
          importance: columnInfo.featureImportance,
          displayName: columnInfo.columnDisplayName,
        };
      }
    );
    // Sort features by their importance, highest importance first
    featureList.sort((a, b) => {
      return b.importance - a.importance;
    });

    // Print top 10 important features
    console.log('Features of top importance');
    console.log(featureList.slice(0, 10));
  }
}
predict();

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.

# TODO(developer): Uncomment and set the following variables
# project_id = 'PROJECT_ID_HERE'
# compute_region = 'COMPUTE_REGION_HERE'
# model_display_name = 'MODEL_DISPLAY_NAME_HERE'
# inputs = {'value': 3, ...}

from google.cloud import automl_v1beta1 as automl

client = automl.TablesClient(project=project_id, region=compute_region)

if feature_importance:
    response = client.predict(
        model_display_name=model_display_name,
        inputs=inputs,
        feature_importance=True,
    )
else:
    response = client.predict(model_display_name=model_display_name, inputs=inputs)

print("Prediction results:")
for result in response.payload:
    print(f"Predicted class name: {result.tables.value}")
    print(f"Predicted class score: {result.tables.score}")

    if feature_importance:
        # get features of top importance
        feat_list = [
            (column.feature_importance, column.column_display_name)
            for column in result.tables.tables_model_column_info
        ]
        feat_list.sort(reverse=True)
        if len(feat_list) < 10:
            feat_to_show = len(feat_list)
        else:
            feat_to_show = 10

        print("Features of top importance:")
        for feat in feat_list[:feat_to_show]:
            print(feat)

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.

Kotak centang nilai penting fitur AutoML Tables

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, dan eu-automl.googleapis.com untuk region Uni Eropa.
  • project-id: Project ID Google Cloud Anda.
  • location: lokasi untuk resource: us-central1 untuk Global atau eu 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
Prediksi batch adalah operasi yang berjalan lama. Anda dapat memeriksa status operasi atau menunggu operasi ditampilkan. Pelajari lebih lanjut.

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.