Auf dieser Seite wird beschrieben, wie Sie mehrere Datenzeilen gleichzeitig für AutoML Tables bereitstellen und eine Vorhersage für jede Zeile erhalten können.
Einführung
Nachdem Sie ein Modell erstellt haben, können Sie mit der Methode batchPredict
eine asynchrone Anfrage für ein Vorhersagebatch ausführen. Sie liefern Eingabedaten im Tabellenformat an die Methode batchPredict
.
Jede Zeile enthält Werte für die Features, für die Sie das Modell trainiert haben.
Die Methode batchPredict
sendet diese Daten an das Modell und gibt Vorhersagen für jede Datenzeile zurück.
Modelle müssen alle sechs Monate neu trainiert werden, damit sie weiterhin Vorhersagen treffen können.
Batchvorhersagen anfordern
Für Batchvorhersagen geben Sie eine Datenquelle und einen Zielspeicherort für die Ergebnisse in einer BigQuery-Tabelle oder einer CSV-Datei in Cloud Storage an. Sie müssen nicht dieselbe Technologie für die Quelle und das Ziel verwenden. Sie können beispielsweise BigQuery für die Datenquelle und eine CSV-Datei in Cloud Storage als Ziel für die Ergebnisse verwenden. Führen Sie je nach Ihren Anforderungen die entsprechenden Schritte aus den beiden folgenden Aufgaben aus.
Ihre Datenquelle muss tabellarische Daten enthalten, die alle Spalten umfassen, die zum Trainieren des Modells verwendet wurden. Sie können Spalten einfügen, die nicht in den Trainingsdaten enthalten waren, oder in den Trainingsdaten enthalten waren, aber nicht für Schulungen verwendet werden. Diese zusätzlichen Spalten sind in der Vorhersageausgabe enthalten, werden jedoch nicht für die Generierung der Vorhersage verwendet.
BigQuery-Tabellen verwenden
Die Namen der Spalten und Datentypen der Eingabedaten müssen mit den Daten übereinstimmen, die Sie in den Trainingsdaten verwendet haben. Die Spalten müssen nicht in derselben Reihenfolge wie die Trainingsdaten angeordnet sein.
Anforderungen an BigQuery-Tabellen
- BigQuery-Datenquellentabellen dürfen nicht größer als 100 GB sein.
- Sie müssen ein multiregionales BigQuery-Dataset am Standort
US
oderEU
verwenden. - Wenn sich die Tabelle in einem anderen Projekt befindet, müssen Sie dem AutoML Tables-Dienstkonto in diesem Projekt die Rolle
BigQuery Data Editor
zuweisen. Weitere Informationen
Batchvorhersage wird angefordert
Console
Rufen Sie in der Google Cloud Console die Seite „AutoML Tables“ auf.
Wählen Sie Models (Modelle) aus und öffnen Sie das Modell, das Sie verwenden möchten.
Wählen Sie den Tab Test und Nutzung aus.
Klicken Sie auf Batch prediction (Batchvorhersage).
Wählen Sie für das Input Dataset (Eingabe-Dataset) Table from BigQuery (Tabelle aus BigQuery) aus und geben Sie die Projekt-, Dataset- und Tabellen-IDs für die Datenquelle an.
Wählen Sie unter Result (Ergebnis) die Option BigQuery project (BigQuery-Projekt) aus und geben Sie die Projekt-ID für das Ergebnisziel an.
Wenn Sie sehen möchten, wie sich die einzelnen Features auf die Vorhersage auswirken, wählen Sie Merkmalwichtigkeit erstellen aus.
Das Erstellen einer Merkmalwichtigkeit erhöht die für Ihre Vorhersage erforderlichen Zeit- und Rechenressourcen. Die lokale Merkmalwichtigkeit ist bei einem Ergebnisziel von Cloud Storage nicht verfügbar.
Klicken Sie auf Send batch prediction (Batchvorhersage senden), um die Batchvorhersage anzufordern.
REST
Sie können Batchvorhersagen mit der Methode models.batchPredict
anfragen.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
endpoint:
automl.googleapis.com
für den globalen Standort undeu-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 odereu
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 einen Unterordner für die Vorhersageergebnisse mit dem Namen
prediction-<model_name>-<timestamp>
in project-id.dataset-id.table-id.
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" }, }, }
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
Sie können die lokale Merkmalwichtigkeit erhöhen, indem Sie den Parameter feature_importance
zu den Anfragedaten hinzufügen. Weitere Informationen finden Sie unter lokale Merkmalwichtigkeit.
Java
Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen
Node.js
Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen
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
CSV-Dateien in Cloud Storage verwenden
Die Namen der Spalten und Datentypen der Eingabedaten müssen mit den Daten übereinstimmen, die Sie in den Trainingsdaten verwendet haben. Die Spalten müssen nicht in derselben Reihenfolge wie die Trainingsdaten angeordnet sein.
CSV-Dateianforderungen
- Die erste Zeile der Datenquelle muss den Namen der Spalten enthalten.
Jede Datenquellendatei darf nicht größer als 10 GB sein.
Sie können mehrere Dateien mit einer Gesamtgröße von maximal 100 GB importieren.
Der Cloud Storage-Bucket muss den Bucket-Anforderungen entsprechen.
Befindet sich der Cloud Storage-Bucket in einem anderen Projekt als dem, in dem Sie AutoML Tables verwenden, müssen Sie dem AutoML Tables-Dienstkonto in diesem Projekt die Rolle
Storage Object Creator
zuweisen. Weitere Informationen
Console
Rufen Sie in der Google Cloud Console die Seite „AutoML Tables“ auf.
Wählen Sie Models (Modelle) aus und öffnen Sie das Modell, das Sie verwenden möchten.
Wählen Sie den Tab Test und Nutzung aus.
Klicken Sie auf Batch prediction (Batchvorhersage).
Wählen Sie für Eingabe-Dataset die Option CSV-Dateien aus Cloud Storage aus und geben Sie den Bucket-URI für die Datenquelle an.
Wählen Sie unter Result (Ergebnis) Cloud Storage bucket (Cloud Storage-Bucket) aus und geben Sie den Bucket-URI für den Ziel-Bucket ein.
Wenn Sie sehen möchten, wie sich die einzelnen Features auf die Vorhersage auswirken, wählen Sie Merkmalwichtigkeit erstellen aus.
Das Erstellen einer Merkmalwichtigkeit erhöht die für Ihre Vorhersage erforderlichen Zeit- und Rechenressourcen. Die lokale Merkmalwichtigkeit ist bei einem Ergebnisziel von Cloud Storage nicht verfügbar.
Klicken Sie auf Send batch prediction (Batchvorhersage senden), um die Batchvorhersage anzufordern.
REST
Sie können Batchvorhersagen mit der Methode models.batchPredict
anfragen.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
endpoint:
automl.googleapis.com
für den globalen Standort undeu-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 odereu
für die EU. - model-id: Die ID des Modells. Beispiel:
TBL543
. - input-bucket-name: Der Name des Cloud Storage-Buckets, in dem sich die Vorhersagedaten befinden.
- input-directory-name: Der Name des Cloud Storage-Verzeichnisses, in dem sich die Vorhersagedaten befinden.
- object-name: Der Name des Cloud Storage-Objekts, in dem sich die Vorhersagedaten befinden.
- output-bucket-name: Der Name des Cloud Storage-Buckets für die Vorhersageergebnisse.
-
output-directory-name: Der Name des Cloud Storage-Verzeichnisses für die Vorhersageergebnisse.
AutoML Tables erstellt in
gs://output-bucket-name/output-directory-name
einen Unterordner für die Vorhersageergebnisse mit dem Namenprediction-<model_name>-<timestamp>
. Sie benötigen Schreibberechtigungen für diesen Pfad.
HTTP-Methode und URL:
POST https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:batchPredict
JSON-Text der Anfrage:
{ "inputConfig": { "gcsSource": { "inputUris": [ "gs://input-bucket-name/input-directory-name/object-name.csv" ] }, }, "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://output-bucket-name/output-directory-name" }, }, }
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
Sie können die lokale Merkmalwichtigkeit erhöhen, indem Sie den Parameter feature_importance
zu den Anfragedaten hinzufügen. Weitere Informationen finden Sie unter lokale Merkmalwichtigkeit.
Java
Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen
Node.js
Wenn sich Ihre Ressourcen in der EU-Region befinden, müssen Sie den Endpunkt explizit festlegen. Weitere Informationen
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
Ergebnisse abrufen
Vorhersageergebnisse in BigQuery abrufen
Wenn Sie BigQuery als Ausgabeziel angegeben haben, werden die Ergebnisse Ihrer Anfrage für die Batchvorhersage als neues Dataset im angegebenen BigQuery-Projekt zurückgegeben. Das BigQuery-Dataset ist der Name Ihres Modells, dem "prediction_" vorangestellt und der Zeitstempel, wann der Vorhersagejob begonnen hat, angehängt wird. Sie finden den BigQuery-Dataset-Namen im Tab Test und Nutzung Ihres Modells auf der Seite Batchvorhersage unter Aktuelle Vorhersagen.
Das BigQuery-Dataset enthält zwei Tabellen: predictions
und errors
. Die Tabelle errors
enthält eine Zeile für jede Zeile in Ihrer Vorhersageanfrage, für die AutoML Tables keine Vorhersage zurückgeben konnten, z. B. wenn eine Funktion, die keinen Nullwert zulässt, null war. Die Tabelle predictions
enthält eine Zeile für jede zurückgegebene Vorhersage.
In der Tabelle predictions
gibt AutoML Tables Ihre Vorhersagedaten zurück und erstellt für die Vorhersageergebnisse eine neue Spalte. Dazu wird dem Spaltennamen "predicted_" vorangestellt. Die Spalte mit den Vorhersageergebnissen enthält eine verschachtelte BigQuery-Struktur, die die Vorhersageergebnisse enthält.
Zum Abrufen der Vorhersageergebnisse können Sie eine Abfrage in der BigQuery-Konsole verwenden. Das Format der Abfrage hängt vom Modelltyp ab.
Binärklassifizierung:
SELECT predicted_<target-column-name>[OFFSET(0)].tables AS value_1, predicted_<target-column-name>[OFFSET(1)].tables AS value_2 FROM <bq-dataset-name>.predictions
"value_1" und "value_2" sind Ortsmarkierungen. Sie können sie durch die Zielwerte oder einen entsprechenden Wert ersetzen.
Klassifizierung mehrerer Klassen:
SELECT predicted_<target-column-name>[OFFSET(0)].tables AS value_1, predicted_<target-column-name>[OFFSET(1)].tables AS value_2, predicted_<target-column-name>[OFFSET(2)].tables AS value_3, ... predicted_<target-column-name>[OFFSET(4)].tables AS value_5 FROM <bq-dataset-name>.predictions
"value_1", "value_2" usw. sind Ortsmarkierungen. Sie können sie durch die Zielwerte oder einen entsprechenden Wert ersetzen.
Regression:
SELECT predicted_<target-column-name>[OFFSET(0)].tables.value, predicted_<target-column-name>[OFFSET(0)].tables.prediction_interval.start, predicted_<target-column-name>[OFFSET(0)].tables.prediction_interval.end FROM <bq-dataset-name>.predictions
Ergebnisse in Cloud Storage abrufen
Wenn Sie Cloud Storage als Ausgabeziel angegeben haben, werden die Ergebnisse Ihrer Anfrage einer Batchvorhersage als CSV-Dateien in einem neuen Ordner in dem von Ihnen angegebenen Bucket zurückgegeben. Der Name des Ordners ist der Name Ihres Modells, dem "prediction_" vorangestellt und der Zeitstempel, wann der Vorhersagejob begonnen hat, angehängt wird Sie finden den Namen des Cloud Storage-Ordners im Tab Test und Nutzung Ihres Modells ganz unten auf der Seite Batchvorhersage unter Aktuelle Vorhersagen.
Der Cloud Storage-Ordner enthält zwei Dateitypen: Fehlerdateien und Vorhersagedateien. Wenn die Ergebnisse groß sind, werden zusätzliche Dateien erstellt.
Die Fehlerdateien haben den Namen errors_1.csv
, errors_2.csv
und so weiter. Sie enthalten eine Kopfzeile und eine Zeile für jede Zeile in Ihrer Vorhersageanfrage, für die AutoML Tables keine Vorhersage zurückgeben kann.
Die Vorhersagedateien haben den Namen tables_1.csv
, tables_2.csv
und so weiter. Sie enthalten eine Kopfzeile mit den Spaltennamen und eine Zeile für jede zurückgegebene Vorhersage.
In den Vorhersagedateien gibt AutoML Tables Ihre Vorhersagedaten zurück und erstellt je nach Modelltyp eine oder mehrere neue Spalten für die Vorhersageergebnisse:
Klassifikation:
Für jeden potenziellen Wert Ihrer Zielspalte wird eine Spalte mit dem Namen <target-column-name>_<value>_score
den Ergebnissen hinzugefügt. Diese Spalte enthält den Wert oder die Konfidenzschätzung für diesen Wert.
Regression:
Der vorhergesagte Wert für diese Zeile wird in einer Spalte mit dem Namen predicted_<target-column-name>
zurückgegeben. Das Vorhersageintervall wird für die CSV-Ausgabe nicht zurückgegeben.
Die lokale Merkmalwichtigkeit ist für Ergebnisse in Cloud Storage nicht verfügbar.
Ergebnisse interpretieren
Die Interpretation der Ergebnisse hängt vom Geschäftsproblem ab, das Sie lösen, und davon, wie Ihre Daten verteilt werden.
Ergebnisse für Klassifizierungsmodelle interpretieren
Vorhersageergebnisse für Klassifizierungsmodelle (binär und mehrklassig) geben einen Wahrscheinlichkeitswert für jeden potenziellen Wert der Zielspalte zurück. Sie müssen festlegen, wie die Bewertungen verwendet werden sollen. Um beispielsweise eine binäre Klassifizierung aus den bereitgestellten Bewertungen zu erhalten, würden Sie einen Schwellenwert angeben. Wenn es die beiden Klassen "A" und "B" gibt, sollten Sie das Beispiel mit "A" klassifizieren, wenn die Bewertung für "A" größer als der ausgewählte Grenzwert ist. Andernfalls klassifizieren Sie "B". Bei unausgewogenen Datasets kann der Grenzwert 100 % oder 0 % erreichen.
Sie können in der Google Cloud Console auf der Seite Bewerten in der Google Cloud Console für das Modell das Precision-Callback-Kurvendiagramm, das Kurvendiagramm mit Empfängererinnerung und andere relevante Statistiken pro Label verwenden, um zu sehen, wie sich die Änderungen des Grenzwerts auf die Bewertungsmesswerte auswirken. So können Sie ermitteln, wie Sie die Ergebniswerte am besten zur Interpretation Ihrer Vorhersageergebnisse verwenden.
Ergebnisse für Regressionsmodelle interpretieren
Für Regressionsmodelle wird ein erwarteter Wert zurückgegeben. Bei vielen Problemen können Sie diesen Wert direkt verwenden. Sie können auch das Vorhersageintervall verwenden, wenn es zurückgegeben wird und wenn ein Bereich für Ihr Geschäftsproblem sinnvoll ist.
Interpretieren der Ergebnisse der lokalen Merkmalwichtigkeit
Informationen zum Interpretieren der Ergebnisse der lokalen Merkmalwichtigkeit finden Sie unter lokale Merkmalwichtigkeit.
Nächste Schritte
- Weitere Informationen zur lokalen Merkmalwichtigkeit
- Weitere Informationen zu lang andauernden Vorgängen.