Modelle trainieren

Auf dieser Seite wird beschrieben, wie Sie mit AutoML Tables ein benutzerdefiniertes Modell basierend auf Ihrem Dataset trainieren. Sie müssen bereits ein Dataset erstellt und darin Daten importiert haben.

Einleitung

Wenn Sie ein benutzerdefiniertes Modell erstellen möchten, trainieren Sie es mithilfe eines vorbereiteten Datasets. Das Modell wird in AutoML Tables mithilfe der Elemente des Datasets trainiert, getestet und hinsichtlich seiner Leistung bewertet. Sie können die Ergebnisse anschließend prüfen, das Trainings-Dataset nach Bedarf anpassen und mithilfe des verbesserten Datasets ein neues Modell trainieren.

Bei der Vorbereitung zum Trainieren eines Modells aktualisieren Sie die Schemainformationen des Datasets. Diese Schemaaktualisierungen wirken sich auf alle zukünftigen Modelle aus, die dieses Dataset verwenden. Modelle, für die das Training bereits gestartet wurde, bleiben davon unberührt.

Das Trainieren eines Modells kann mehrere Stunden dauern. Sie können den Trainingsfortschritt in der Google Cloud Console oder mithilfe der Cloud AutoML API prüfen.

Da AutoML Tables bei jedem Trainingsbeginn ein neues Modell erstellt, enthält Ihr Projekt möglicherweise mehrere Modelle. Sie können eine Liste der Modelle in Ihrem Projekt abrufen und nicht mehr benötigte Modelle löschen.

Modelle müssen alle sechs Monate neu trainiert werden, damit sie weiterhin Vorhersagen bereitstellen können.

Modell trainieren

Console

  1. Öffnen Sie bei Bedarf die Seite Datasets und klicken Sie auf das Dataset, das Sie verwenden möchten.

    Dadurch wird das Dataset im Tab Train (Trainieren) geöffnet.

    AutoML Tables-Seite für Schemas

  2. Wählen Sie die Zielspalte für Ihr Modell aus.

    Dies ist der Wert, für dessen Vorhersage das Modell trainiert wird. Der zugehörige Datentyp bestimmt, ob das resultierende Modell ein Regressionsmodell (numerisch) oder ein Klassifizierungsmodell (kategorial) ist. Weitere Informationen

    Wenn die Zielspalte den Datentyp „Kategorial“ hat, muss sie mindestens zwei und nicht mehr als 500 verschiedene Werte enthalten.

  3. Prüfen Sie den Datentyp, die Null-Zulässigkeit und die Datenstatistik für jede Spalte in Ihrem Dataset.

    Sie können auf einzelne Spalten klicken, um weitere Details zu dieser Spalte zu erhalten. Weitere Informationen zur Schemaüberprüfung

    AutoML Tables-Seite für Schemas

  4. Wenn Sie Ihre Datenaufteilung steuern möchten, klicken Sie auf Edit additional parameters (Zusätzliche Parameter bearbeiten) und geben Sie eine Data split-Spalte (Datenaufteilung) oder eine Time-Spalte (Zeit) an. Weitere Informationen

    AutoML Tables-Seite für Schemas

  5. Wenn Sie Ihre Trainingsbeispiele anhand des Werts einer Spalte gewichten möchten, klicken Sie auf Edit additional parameters (Zusätzliche Parameter bearbeiten) und geben Sie die entsprechende Spalte an. Weitere Informationen

  6. Prüfen Sie die zusammengefassten Statistiken und Details, um sicherzustellen, dass die Datenqualität Ihren Erwartungen entspricht und dass Sie alle Spalten identifiziert haben, die bei der Erstellung Ihres Modells ausgeschlossen werden müssen.

    Weitere Informationen finden Sie unter Trainingsdaten analysieren.

  7. Wenn Sie mit Ihrem Dataset-Schema zufrieden sind, klicken Sie auf Train model (Modell trainieren) oben auf dem Bildschirm.

    Wenn Sie das Schema ändern, werden die zusammengefassten Statistiken in AutoML Tables aktualisiert, was einige Minuten dauern kann. Sie müssen nicht warten, bis dieser Prozess abgeschlossen ist, bevor Sie das Modelltraining starten.

    AutoML Tables-Seite für Schemas

  8. Geben Sie für Training budget (Trainingsbudget) die maximale Anzahl von Trainingsstunden für dieses Modell ein.

    Das Trainingsbudget kann zwischen 1 und 72 Stunden liegen. Dies ist die maximale Trainingszeit, die Ihnen in Rechnung gestellt wird.

    Die empfohlene Trainingszeit hängt von der Größe der Trainingsdaten ab. Die folgende Tabelle zeigt die empfohlene Trainingszeit nach Zeilenanzahl. Eine große Anzahl von Spalten erhöht auch die Trainingszeit.

    Zeilen Vorgeschlagene Trainingszeit
    Unter 100.000 1–3 Stunden
    100.000–1.000.000 1–6 Stunden
    1.000.000–10.000.000 1–12 Stunden
    Über 10.000.000 3–24 Stunden

    Die Modellerstellung umfasst neben dem Training noch andere Aufgaben, sodass die Gesamtzeit für die Modellerstellung länger als die Trainingszeit ist. Wenn Sie beispielsweise zwei Trainingsstunden angeben, kann es drei Stunden oder länger dauern, bis das Modell einsatzbereit ist. Ihnen wird nur die tatsächliche Trainingszeit in Rechnung gestellt.

    Weitere Informationen zu Trainingspreisen

    Wenn AutoML Tables erkennt, dass das Modell nicht mehr verbessert wird, bevor das Trainingsbudget aufgebraucht ist, wird das Training beendet. Wenn Sie die gesamte geplante Trainingszeit verwenden möchten, öffnen Sie Advanced options (Erweiterte Optionen) und deaktivieren Sie Early stopping (Vorzeitiges Beenden).

  9. Schließen Sie im Abschnitt Input feature selection (Auswahl des Eingabefeatures) alle Spalten aus, die Sie bereits bei der Schemaanalyse ausgeschlossen haben.

  10. Wenn Sie das standardmäßige Optimierungsziel nicht verwenden möchten, öffnen Sie Advanced options (Erweiterte Optionen) und wählen Sie den Messwert aus, den AutoML Tables beim Trainieren Ihres Modells optimieren soll. Weitere Informationen

    Abhängig vom Datentyp der Zielspalte ist unter Optimization objective (Optimierungsziel) möglicherweise nur ein Optimierungsziel angegeben.

  11. Klicken Sie auf Modell trainieren, um mit dem Modelltraining zu beginnen.

    Das Modelltraining kann je nach Umfang des Datasets und des Trainingsbudgets mehrere Stunden dauern. Der Trainingsprozess läuft auch weiter, wenn Sie das Browserfenster schließen.

    Nach dem erfolgreichen Training des Modells werden im Tab Models (Modelle) allgemeine Messwerte für das Modell wie die Genauigkeit und die Trefferquote angezeigt.

    Allgemeine Messwerte für ein trainiertes Modell

    Weitere Informationen zum Bewerten der Modellqualität finden Sie unter Modelle bewerten.

REST

Das folgende Beispiel zeigt, wie Sie das Datenschema vor dem Training Ihres Modells prüfen und aktualisieren können.

Wenn sich Ihre Ressourcen in der EU-Region befinden, verwenden Sie eu für {location} und den Endpunkt eu-automl.googleapis.com. Verwenden Sie andernfalls us-central1 Weitere Informationen

  1. Listen Sie nach Abschluss des Imports die Tabellenspezifikationen auf, um die Tabellen-ID zu erhalten.

    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.
    • dataset-id: Die ID des Datasets. Beispiel: TBL6543.

    HTTP-Methode und URL:

    GET https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id/tableSpecs/

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Die Tabellen-ID ist im Feld name fett dargestellt.

  2. Listen Sie die Spaltenspezifikationen auf.

    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.
    • dataset-id: Die ID des Datasets. Beispiel: TBL6543.
    • table-id: Die ID der Tabelle.

    HTTP-Methode und URL:

    GET https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id/tableSpecs/table-id/columnSpecs/

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

  3. Konfigurieren Sie optional Ihre Zielspalte.

    Dies ist der Wert, für dessen Vorhersage das Modell trainiert wird. Der zugehörige Datentyp bestimmt, ob das resultierende Modell ein Regressionsmodell (numerisch) oder ein Klassifizierungsmodell (kategorial) ist. Weitere Informationen

    Wenn die Zielspalte den Datentyp „Kategorial“ hat, muss sie mindestens zwei und nicht mehr als 500 verschiedene Werte enthalten.

    Sie können die Zielspalte auch beim Trainieren des Modells angeben. Behalten Sie dafür die Tabellen-ID und die gewünschte Zielspalten-ID für die spätere Verwendung bei.

    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.
    • dataset-id: Die ID Ihres Datasets.
    • target-column-id: Die ID Ihrer Zielspalte.

    HTTP-Methode und URL:

    PATCH https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id

    JSON-Text der Anfrage:

    {
      "tablesDatasetMetadata": {
        "targetColumnSpecId": "target-column-id"
      }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

  4. Aktualisieren Sie optional das Feld mlUseColumnSpecId, um Ihre Datenaufteilung anzugeben, und das Feld weightColumnSpecId, um eine Gewichtungsspalte zu verwenden.

    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.
    • dataset-id: Die ID Ihres Datasets.
    • split-column-id: Die ID Ihrer Zielspalte.
    • weight-column-id: Die ID Ihrer Zielspalte.

    HTTP-Methode und URL:

    PATCH https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id

    JSON-Text der Anfrage:

    {
      "tablesDatasetMetadata": {
        "mlUseColumnSpecId": "split-column-id",
        "weightColumnSpecId": "weight-column-id"
      }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

  5. Prüfen Sie die Spaltenstatistiken daraufhin, dass die dataType-Werte korrekt sind und Spalten den richtigen Wert für nullable haben.

    Wenn ein Feld so markiert ist, dass es keine Nullwerte zulässt, bedeutet dies, dass es keine Nullwerte für das Trainings-Dataset enthielt. Achten Sie darauf, dass dies auch für Ihre Vorhersagedaten gilt. Wenn eine Spalte als Spalte markiert ist, die keine Nullwerte zulässt, und wenn bei der Vorhersage kein Wert für sie bereitgestellt wird, wird für diese Zeile ein Vorhersagefehler zurückgegeben.

    Weitere Informationen zur Schemaüberprüfung

  6. Prüfen Sie die Datenqualität.

    Weitere Informationen zum Analysieren Ihrer Trainingsdaten

  7. Modell trainieren

    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.
    • dataset-id: Die Dataset-ID.
    • table-id: Die Tabellen-ID, mit der die Zielspalte festgelegt wird.
    • target-column-id: Die ID der Zielspalte.
    • model-display-name: Der Anzeigename für das neue Modell.
    • optimization-objective durch den zu optimierenden Messwert (optional).

      Siehe Ziele der Modelloptimierung.

    • train-budget-milli-node-hours durch die Anzahl der Milliknoten-Stunden für das Training. Beispiel: 1.000 = 1 Stunde.

      Die empfohlene Trainingszeit hängt von der Größe der Trainingsdaten ab. Die folgende Tabelle zeigt die empfohlene Trainingszeit nach Zeilenanzahl. Eine große Anzahl von Spalten erhöht auch die Trainingszeit.

      Zeilen Vorgeschlagene Trainingszeit
      Unter 100.000 1–3 Stunden
      100.000–1.000.000 1–6 Stunden
      1.000.000–10.000.000 1–12 Stunden
      Über 10.000.000 3–24 Stunden

      Die Modellerstellung umfasst neben dem Training noch andere Aufgaben, sodass die Gesamtzeit für die Modellerstellung länger als die Trainingszeit ist. Wenn Sie beispielsweise zwei Trainingsstunden angeben, kann es drei Stunden oder länger dauern, bis das Modell einsatzbereit ist. Ihnen wird nur die tatsächliche Trainingszeit in Rechnung gestellt.

      Weitere Informationen zu Trainingspreisen

      Wenn AutoML Tables erkennt, dass das Modell nicht mehr verbessert wird, bevor das Trainingsbudget aufgebraucht ist, wird das Training beendet. Wenn Sie die gesamte geplante Trainingszeit verwenden möchten, setzen Sie das disableEarlyStopping-Attribut des tablesModelMetadata-Objekts auf true.

    HTTP-Methode und URL:

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

    JSON-Text der Anfrage:

    {
      "datasetId": "dataset-id",
      "displayName": "model-display-name",
      "tablesModelMetadata": {
        "trainBudgetMilliNodeHours": "train-budget-milli-node-hours",
        "optimizationObjective": "optimization-objective",
        "targetColumnSpec": {
          "name": "projects/project-id/locations/location/datasets/dataset-id/tableSpecs/table-id/columnSpecs/target-column-id"
        }
      },
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    {
    
      "name": "projects/292381/locations/us-central1/operations/TBL64984",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata",
        "createTime": "2019-12-30T22:12:03.014058Z",
        "updateTime": "2019-12-30T22:12:03.014058Z",
        "cancellable": true,
        "createModelDetails": {
          "modelDisplayName": "new_model1"
        },
        "worksOn": [
          "projects/292381/locations/us-central1/datasets/TBL3718"
        ],
        "state": "RUNNING"
      }
    }
    

    Das Trainieren eines Modells ist ein langwieriger Vorgang. Sie können den Vorgangsstatus abfragen oder warten, bis der Vorgang beendet ist. Weitere Informationen

Java

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

import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.automl.v1beta1.AutoMlClient;
import com.google.cloud.automl.v1beta1.ColumnSpec;
import com.google.cloud.automl.v1beta1.ColumnSpecName;
import com.google.cloud.automl.v1beta1.LocationName;
import com.google.cloud.automl.v1beta1.Model;
import com.google.cloud.automl.v1beta1.OperationMetadata;
import com.google.cloud.automl.v1beta1.TablesModelMetadata;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

class TablesCreateModel {

  public static void main(String[] args)
      throws IOException, ExecutionException, InterruptedException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String datasetId = "YOUR_DATASET_ID";
    String tableSpecId = "YOUR_TABLE_SPEC_ID";
    String columnSpecId = "YOUR_COLUMN_SPEC_ID";
    String displayName = "YOUR_DATASET_NAME";
    createModel(projectId, datasetId, tableSpecId, columnSpecId, displayName);
  }

  // Create a model
  static void createModel(
      String projectId,
      String datasetId,
      String tableSpecId,
      String columnSpecId,
      String displayName)
      throws IOException, ExecutionException, InterruptedException {
    // 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()) {
      // A resource that represents Google Cloud Platform location.
      LocationName projectLocation = LocationName.of(projectId, "us-central1");

      // Get the complete path of the column.
      ColumnSpecName columnSpecName =
          ColumnSpecName.of(projectId, "us-central1", datasetId, tableSpecId, columnSpecId);

      // Build the get column spec.
      ColumnSpec targetColumnSpec =
          ColumnSpec.newBuilder().setName(columnSpecName.toString()).build();

      // Set model metadata.
      TablesModelMetadata metadata =
          TablesModelMetadata.newBuilder()
              .setTargetColumnSpec(targetColumnSpec)
              .setTrainBudgetMilliNodeHours(24000)
              .build();

      Model model =
          Model.newBuilder()
              .setDisplayName(displayName)
              .setDatasetId(datasetId)
              .setTablesModelMetadata(metadata)
              .build();

      // Create a model with the model metadata in the region.
      OperationFuture<Model, OperationMetadata> future =
          client.createModelAsync(projectLocation, model);
      // OperationFuture.get() will block until the model is created, which may take several hours.
      // You can use OperationFuture.getInitialFuture to get a future representing the initial
      // response to the request, which contains information while the operation is in progress.
      System.out.format("Training operation name: %s%n", future.getInitialFuture().get().getName());
      System.out.println("Training started...");
    }
  }
}

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 create a model.
 * 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 datasetId = '[DATASET_ID]' e.g., "TBL2246891593778855936";
// const tableId = '[TABLE_ID]' e.g., "1991013247762825216";
// const columnId = '[COLUMN_ID]' e.g., "773141392279994368";
// const modelName = '[MODEL_NAME]' e.g., "testModel";
// const trainBudget = '[TRAIN_BUDGET]' e.g., "1000",
// `Train budget in milli node hours`;

// A resource that represents Google Cloud Platform location.
const projectLocation = client.locationPath(projectId, computeRegion);

// Get the full path of the column.
const columnSpecId = client.columnSpecPath(
  projectId,
  computeRegion,
  datasetId,
  tableId,
  columnId
);

// Set target column to train the model.
const targetColumnSpec = {name: columnSpecId};

// Set tables model metadata.
const tablesModelMetadata = {
  targetColumnSpec: targetColumnSpec,
  trainBudgetMilliNodeHours: trainBudget,
};

// Set datasetId, model name and model metadata for the dataset.
const myModel = {
  datasetId: datasetId,
  displayName: modelName,
  tablesModelMetadata: tablesModelMetadata,
};

// Create a model with the model metadata in the region.
client
  .createModel({parent: projectLocation, model: myModel})
  .then(responses => {
    const initialApiResponse = responses[1];
    console.log(`Training operation name: ${initialApiResponse.name}`);
    console.log('Training started...');
  })
  .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'
# dataset_display_name = 'DATASET_DISPLAY_NAME_HERE'
# model_display_name = 'MODEL_DISPLAY_NAME_HERE'
# train_budget_milli_node_hours = 'TRAIN_BUDGET_MILLI_NODE_HOURS_HERE'
# include_column_spec_names = 'INCLUDE_COLUMN_SPEC_NAMES_HERE'
#    or None if unspecified
# exclude_column_spec_names = 'EXCLUDE_COLUMN_SPEC_NAMES_HERE'
#    or None if unspecified

from google.cloud import automl_v1beta1 as automl

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

# Create a model with the model metadata in the region.
response = client.create_model(
    model_display_name,
    train_budget_milli_node_hours=train_budget_milli_node_hours,
    dataset_display_name=dataset_display_name,
    include_column_spec_names=include_column_spec_names,
    exclude_column_spec_names=exclude_column_spec_names,
)

print("Training model...")
print(f"Training operation name: {response.operation.name}")
print(f"Training completed: {response.result()}")

Schemas prüfen

AutoML Tables leitet den Datentyp und ob eine Spalte für jede Spalte zulässige Nullwerte hat, mithilfe des ursprünglichen Datentyps (wenn er von BigQuery importiert wurde) und der Werte in der Spalte ab. Sie sollten jede Spalte auf ihre Richtigkeit prüfen.

Prüfen Sie Ihr Schema anhand der folgenden Liste:

  • Felder, die Freitext enthalten, sollten vom Typ "Text" sein.

    Textfelder werden durch UnicodeScriptTokenizer in Tokens unterteilt, wobei einzelne Tokens für das Modelltraining verwendet werden. Der UnicodeScriptTokenizer tokenisiert Text nach Leerzeichen, trennt aber auch Satzzeichen vom Text und verschiedenen Sprachen voneinander.

  • Wenn der Wert einer Spalte einem einer endlichen Reihe von Werten entspricht, sollte er unabhängig vom Typ der im Feld verwendeten Daten wahrscheinlich kategorial sein.

    Sie könnten zum Beispiel Codes für Farben haben: 1 = rot, 2 = gelb usw. Achten Sie darauf, dass ein solches Feld als "kategorial" gekennzeichnet wurde.

    Eine Ausnahme zu dieser Anleitung ist gegeben, wenn die Spalte Strings mit mehreren Wörtern enthält. In diesem Fall sollten Sie sie als Textspalte festlegen, selbst wenn sie eine geringe Kardinalität hat. AutoML Tables tokenisiert Textspalten und ist möglicherweise in der Lage, das Vorhersagesignal aus den einzelnen Tokens oder aus ihrer Reihenfolge abzuleiten.

  • Wenn ein Feld so markiert ist, dass es keine Nullwerte zulässt, bedeutet dies, dass es keine Nullwerte für das Trainings-Dataset enthielt. Achten Sie darauf, dass dies auch für Ihre Vorhersagedaten gilt. Wenn eine Spalte als Spalte markiert ist, die keine Nullwerte zulässt, und wenn bei der Vorhersage kein Wert für sie bereitgestellt wird, wird für diese Zeile ein Vorhersagefehler zurückgegeben.

Trainingsdaten analysieren

  • Wenn eine Spalte einen hohen Prozentsatz an fehlenden Werten aufweist, prüfen Sie, ob dies den Erwartungen entspricht und sich kein Datenerfassungsproblem dahinter verbirgt.

  • Achten Sie darauf, dass die Anzahl der ungültigen Werte relativ niedrig oder null ist.

    Jede Zeile, die einen oder mehrere ungültige Werte enthält, wird automatisch für das Modelltraining ausgeschlossen.

  • Wenn unterschiedliche Werte für eine kategoriale Spalte sich der Anzahl der Zeilen annähern (z. B. mehr als 90 %), liefert diese Spalte nicht viel Trainingssignal. Sie sollte vom Training ausgeschlossen werden. ID-Spalten sollten immer ausgeschlossen werden.

  • Wenn der Wert für Correlation with Target (Korrelation mit Ziel) hoch ist, prüfen Sie, ob dies den Erwartungen entspricht und nicht etwa ein Hinweis auf ein Datenleck ist.

    Wenn die Spalte beim Anfordern von Vorhersagen verfügbar ist, ist sie wahrscheinlich ein Feature mit starker Aussagekraft und kann einbezogen werden. Manchmal werden Features mit hoher Korrelation jedoch tatsächlich vom Ziel abgeleitet oder nachträglich erfasst. Diese Features müssen vom Training ausgeschlossen werden, da sie zum Zeitpunkt der Vorhersage nicht verfügbar sind, sodass das Modell in der Produktion nicht verwendet werden kann.

    Die Korrelation wird für kategoriale, numerische und Zeitstempelspalten mithilfe von Cramérs V berechnet. Bei numerischen Spalten wird sie anhand der aus Quantilen generierten Bucket-Anzahl berechnet.

Ziele der Modelloptimierung

Das Optimierungsziel beeinflusst, wie das Modell trainiert wird und somit dessen Leistung in der Produktion. In der folgenden Tabelle finden Sie Details zu den Zielen, die sich am besten für ein bestimmtes Problem eignen:

Optimierungsziel Problemtyp API-Wert Zweck
AUC ROC Klassifizierung MAXIMIZE_AU_ROC Zwischen Klassen unterscheiden. Standardwert für die binäre Klassifizierung.
Logarithmischer Verlust Klassifizierung MINIMIZE_LOG_LOSS Möglichst genaue Vorhersagewahrscheinlichkeiten erzielen. Nur unterstütztes Ziel für die Klassifizierung mehrerer Klassen.
AUC PR Klassifizierung MAXIMIZE_AU_PRC Ergebnisse für Vorhersagen für die weniger gängige Klasse optimieren.
Präzision von Trefferquote Klassifizierung MAXIMIZE_PRECISION_AT_RECALL Optimieren Sie die Präzision bei einem bestimmten Trefferquotenwert.
Trefferquote von Präzision Klassifizierung MAXIMIZE_RECALL_AT_PRECISION Optimieren Sie die Trefferquote bei einem bestimmten Präzisionswert.
RMSE Regression MINIMIZE_RMSE Extremwerte genau erfassen.
MAE Regression MINIMIZE_MAE Extremwerte als Ausreißer mit geringerem Einfluss auf das Modell betrachten.
RMSLE Regression MINIMIZE_RMSLE Abzüge für Fehler nach der relativen Größe statt des absoluten Werts vornehmen. Dies ist besonders hilfreich, wenn sowohl die vorhergesagten als auch die tatsächlichen Werte sehr groß sein können.

Nächste Schritte