Vorhersagen erklären

Auf dieser Seite wird beschrieben, wie Sie mithilfe der Merkmalwichtigkeit Einblick in die Vorhersagen des Modells erhalten.

Weitere Informationen zu AI-Erklärungen finden Sie unter Einführung in AI-Erklärungen für AI Platform.

Einleitung

Wenn Sie ein ML-Modell verwenden, um Geschäftsentscheidungen zu treffen, ist es wichtig zu verstehen, wie Ihre Trainingsdaten zum endgültigen Modell beigetragen haben und wie das Modell zu individuellen Vorhersagen gelangt ist. Mit diesem Verständnis können Sie sicherstellen, dass Ihr Modell fair und genau ist.

AutoML Tables zeigt die Wichtigkeit von Merkmalen, manchmal auch als Featureattribute bezeichnet. So können Sie sehen, welche Merkmale am meisten zum Modelltraining (Wichtigkeit von Modellfunktionen) und zu individuellen Vorhersagen (Wichtigkeit lokaler Funktionen) beigetragen haben.

AutoML Tables berechnet die Merkmalwichtigkeit mithilfe der Stichproben-Shapley-Methode. Weitere Informationen zur Erklärung von Modellen finden Sie unter Einführung in KI-Erläuterungen.

Wichtigkeit des Modellfeatures

Mithilfe der Merkmalwichtigkeit des Models können Sie gewährleisten, dass die für das Modelltraining verwendeten Features für Ihre Daten- und Geschäftsprobleme sinnvoll sind. Alle Features mit einer hohen Merkmalwichtigkeit sollten ein gültiges Signal für die Vorhersage darstellen und konsistent in Ihren Vorhersageanfragen enthalten sein.

Die Merkmalwichtigkeit wird für jedes Element als Prozentsatz angegeben: Je höher der Prozentsatz, desto stärker hat sich das Merkmal auf das Modelltraining ausgewirkt.

Merkmalwichtigkeit abrufen

Console

So rufen Sie die Werte der Featurewichtigkeit Ihres Modells in der Google Cloud Console auf:

  1. Rufen Sie in der Google Cloud Console die Seite „AutoML Tables“ auf.

    Zur Seite "AutoML Tables"

  2. Wählen Sie im linken Navigationsbereich den Tab Model (Modell) aus und klicken Sie auf das Modell, für das die Bewertungsmesswerte abgerufen werden sollen.

  3. Öffnen Sie den Tab Evaluate (Bewerten).

  4. Scrollen Sie nach unten zum Diagramm Merkmalwichtigkeit.

Bewertungsseite von AutoML Tables

REST

Verwenden Sie die Methode model.get, um die Merkmalwichtigkeit für ein Modell abzurufen.

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • endpoint: automl.googleapis.com für den globalen Standort und eu-automl.googleapis.com für die EU-Region.
  • project-id ist Ihre Google Cloud-Projekt-ID.
  • location: Der Standort für die Ressource: us-central1 für global oder eu für die EU.
  • model-id: Die ID des Modells, für das Sie die Informationen zur Merkmalwichtigkeit abrufen möchten. Beispiel: TBL543.

HTTP-Methode und URL:

GET https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

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

Führen Sie folgenden Befehl aus:

$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
Die Werte für die Merkmalwichtigkeit werden für jede Spalte im Objekt TablesModelColumnInfo zurückgegeben.
{
  "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

Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen


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

Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen

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

Die Clientbibliothek für AutoML Tables enthält zusätzliche Python-Methoden, die die Verwendung der AutoML Tables API vereinfachen. Diese Methoden verweisen auf Datasets und Modelle anhand des Namens und nicht der ID. Dataset- und Modellnamen dürfen nur einmal vorkommen. Weitere Informationen finden Sie in der Kundenreferenz.

Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen

# 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}")

Wichtigkeit von lokalem Feature

Die lokale Merkmalwichtigkeit gibt Ihnen Aufschluss darüber, wie sich die einzelnen Funktionen in einer bestimmten Vorhersageanfrage auf die resultierende Vorhersage ausgewirkt haben.

Zuerst wird der Basis-Vorhersagewert berechnet, um den Wert jeder lokalen Merkmalwichtigkeit zu ermitteln. Die Basiswerte werden aus den Trainingsdaten berechnet, wobei der Medianwert für numerische Features und der Modus für kategoriale Features verwendet werden. Die aus den Basiswerten generierte Vorhersage ist der Basis-Vorhersagewert.

Bei Klassifizierungsmodellen gibt die lokale Merkmalwichtigkeit an, wie stark jedes Merkmal der Wahrscheinlichkeit, die der Klasse mit der höchsten Punktzahl zugewiesen ist, im Vergleich zum Basis-Vorhersagewert hinzugefügt oder davon abgezogen wurde. Die Punktzahlwerte liegen zwischen 0,0 und 1,0. Die lokale Merkmalwichtigkeit für Klassifizierungsmodelle liegt also immer zwischen -1,0 und 1,0 (einschließlich).

Bei Regressionsmodellen gibt die lokale Merkmalwichtigkeit für eine Vorhersage an, wie viel die einzelnen Features zum Ergebnis im Vergleich zum Basis-Vorhersagewert hinzuaddiert oder davon abgezogen haben.

Die lokale Merkmalwichtigkeit ist sowohl für Online- als auch für Batchvorhersagen verfügbar.

Lokale Merkmalwichtigkeit für Onlinevorhersagen abrufen

Console

Führen Sie die Schritte unter Onlinevorhersage abrufen aus, um lokale Merkmalwichtigkeitswerte für eine Onlinevorhersage mit der Google Cloud Console abzurufen. Klicken Sie dabei das Kästchen Merkmalwichtigkeit generieren an.

AutoML Tables-Kästchen &quot;Merkmalwichtigkeit&quot;

REST

Um die lokale Merkmalwichtigkeit für eine Onlinevorhersageanfrage zu ermitteln, verwenden Sie die Methode model.predict und setzen den Parameter feature_importance auf "true".

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • endpoint: automl.googleapis.com für den globalen Standort und eu-automl.googleapis.com für die EU-Region.
  • project-id ist Ihre Google Cloud-Projekt-ID.
  • location: Der Standort für die Ressource: us-central1 für global oder eu für die EU.
  • model-id: Die ID des Modells. Beispiel: TBL543.
  • valueN: Die Werte für jede Spalte in der richtigen Reihenfolge.

HTTP-Methode und URL:

POST https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:predict

JSON-Text der Anfrage:

{
  "payload": {
    "row": {
      "values": [
        value1, value2,...
      ]
    }
  }
  "params": {
    "feature_importance": "true"
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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
Die Ergebnisse der Merkmalwichtigkeit werden im Objekt „tablesModelColumnInfo“ zurückgegeben.
"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"
  }
],

Wenn eine Spalte bei der Merkmalwichtigkeit einen Wert von 0 aufweist, wird die Merkmalwichtigkeit für diese Spalte nicht angezeigt.

Java

Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen

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

Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen


/**
 * 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

Die Clientbibliothek für AutoML Tables enthält zusätzliche Python-Methoden, die die Verwendung der AutoML Tables API vereinfachen. Diese Methoden verweisen auf Datasets und Modelle anhand des Namens und nicht der ID. Dataset- und Modellnamen dürfen nur einmal vorkommen. Weitere Informationen finden Sie in der Kundenreferenz.

Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen

# 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)

Lokale Merkmalwichtigkeit für Batchvorhersagen abrufen

Console

Wenn Sie über die Google Cloud Console lokale Merkmalwichtigkeitswerte für eine Batchvorhersage abrufen möchten, führen Sie die Schritte unter Batchvorhersage anfordern aus. Klicken Sie dabei das Kästchen Merkmalwichtigkeit generieren an.

AutoML Tables-Kästchen &quot;Merkmalwichtigkeit&quot;

Die Merkmalwichtigkeit eines Elements wird zurückgegeben, indem für jedes Element eine neue Spalte namens feature_importance.<feature_name> hinzugefügt wird.

REST

Verwenden Sie die Methode model.batchPredict, um die lokale Merkmalwichtigkeit für eine Batchvorhersageanfrage zu ermitteln und den Parameter feature_importance auf "true" zu setzen.

Im folgenden Beispiel wird BigQuery für die Anfragedaten und die Ergebnisse verwendet. verwenden Sie denselben zusätzlichen Parameter für Anfragen mit Cloud Storage.

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • endpoint: automl.googleapis.com für den globalen Standort und eu-automl.googleapis.com für die EU-Region.
  • project-id ist Ihre Google Cloud-Projekt-ID.
  • location: Der Standort für die Ressource: us-central1 für global oder eu für die EU.
  • model-id: Die ID des Modells. Beispiel: TBL543.
  • dataset-id: die ID des BigQuery-Datasets, in dem sich die Vorhersagedaten befinden.
  • table-id: Die ID der BigQuery-Tabelle, in der sich die Vorhersagedaten befinden.

    AutoML Tables erstellt in project-id.dataset-id.table-id einen Unterordner mit dem Namen prediction-<model_name>-<timestamp> für die Vorhersageergebnisse.

HTTP-Methode und URL:

POST https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:batchPredict

JSON-Text der Anfrage:

{
  "inputConfig": {
    "bigquerySource": {
      "inputUri": "bq://project-id.dataset-id.table-id"
    },
  },
  "outputConfig": {
    "bigqueryDestination": {
      "outputUri": "bq://project-id"
    },
  },
  "params": {"feature_importance": "true"}
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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
Die Batchvorhersage ist ein Vorgang mit langer Ausführungszeit. Sie können den Vorgangsstatus abfragen oder warten, bis der Vorgang beendet ist. Weitere Informationen

Die Merkmalwichtigkeit eines Elements wird zurückgegeben, indem für jedes Element eine neue Spalte namens feature_importance.<feature_name> hinzugefügt wird.

Überlegungen zur Verwendung lokaler Merkmalwichtigkeit:

  • Die Ergebnisse für die lokale Merkmalwichtigkeit sind nur für Modelle verfügbar, die am oder nach dem 15. November 2019 trainiert wurden.

  • Das Aktivieren der lokalen Merkmalwichtigkeit für eine Batchvorhersageanfrage mit mehr als 1.000.000 Zeilen oder 300 Spalten wird nicht unterstützt.

  • Jeder Wert für die lokale Merkmalwichtigkeit zeigt nur an, wie stark sich das Feature auf die Vorhersage für diese Zeile auswirkt. Um das Gesamtverhalten des Modells zu verstehen, verwenden Sie die Merkmalwichtigkeit für Modelle.

  • Werte für lokale Merkmalwichtigkeit sind immer relativ zum Basiswert. Achten Sie darauf, dass Sie den Ausgangswert referenzieren, wenn Sie die Ergebnisse der lokalen Merkmalwichtigkeit bewerten. Der Referenzwert ist nur in der Google Cloud Console verfügbar.

  • Die Werte der lokalen Merkmalwichtigkeit hängen vollständig vom Modell und den Daten ab, die zum Trainieren des Modells verwendet werden. Sie können nur die Muster erkennen, die in den Daten gefunden wurden, und keine grundlegenden Beziehungen in den Daten erkennen. Das Vorhandensein einer hohen Merkmalwichtigkeit für ein bestimmtes Feature zeigt also keine Beziehung zwischen diesem Feature und dem Ziel. Es zeigt lediglich, dass das Modell das Feature in seinen Vorhersagen verwendet.

  • Wenn eine Vorhersage Daten enthält, die vollständig außerhalb des Bereichs der Trainingsdaten liegen, liefert die lokale Merkmalwichtigkeit möglicherweise keine aussagekräftigen Ergebnisse.

  • Das Erstellen einer Merkmalwichtigkeit erhöht die für Ihre Vorhersage erforderlichen Zeit- und Rechenressourcen. Darüber hinaus wird für Ihre Anfrage ein anderes Kontingent verwendet als für Vorhersageanfragen ohne Merkmalwichtigkeit. Weitere Informationen

  • Werte der Merkmalwichtigkeit allein sagen nicht aus, ob Ihr Modell fair, unvoreingenommen oder von guter Qualität ist. Sie sollten zusätzlich zur Merkmalwichtigkeit Ihr Trainings-Dataset, die Verfahrens- und Bewertungsmesswerte sorgfältig abwägen.