ML.TRANSFORM-Funktion

In diesem Dokument wird die Funktion ML.TRANSFORM beschrieben, mit der Sie Featuredaten vorverarbeiten können. Diese Funktion verarbeitet Eingabedaten. Dazu wendet sie die Datentransformationen an, die in der TRANSFORM-Klausel eines vorhandenen Modells erfasst wurden. Die Statistiken, die während des Modelltrainings für die Datentransformation berechnet wurden, werden auf die Eingabedaten der Funktion angewendet.

Weitere Informationen dazu, welche Modelle die Vorverarbeitung von Features unterstützen, finden Sie unter End-to-End-Nutzerpfad für jedes Modell.

Syntax

ML.TRANSFORM(
  MODEL `project_id.dataset.model`,
  { TABLE `project_id.dataset.table` | (query_statement) }
)

Argumente

ML.TRANSFORM verwendet die folgenden Argumente:

  • project_id: Ihre Projekt-ID.
  • dataset: ein STRING-Wert, der das BigQuery-Dataset angibt, in dem das Modell enthalten ist.
  • model: der Name eines Modells. Das Modell muss mithilfe einer CREATE MODEL-Anweisung erstellt werden, die eine TRANSFORM-Klausel enthält, damit Featuredaten manuell vorverarbeitet werden können. Mit dem Befehl bq show können Sie prüfen, ob ein Modell eine TRANSFORM-Klausel verwendet, indem Sie sich die Metadaten des Modells ansehen. Wenn das Modell mit einer TRANSFORM-Klausel trainiert wurde, enthalten die Modellmetadaten einen Abschnitt zu den Transformationsspalten. Die Funktion gibt einen Fehler zurück, wenn Sie ein Modell angeben, das ohne eine TRANSFORM-Klausel trainiert wurde.
  • table: Der Name der Eingabetabelle, die die zu verarbeitenden Featuredaten enthält.

    Wenn table angegeben ist, müssen die Namen der Eingabespalten in der Tabelle mit den Namen der Eingabespalten im Modell übereinstimmen. TRANSFORM-Klauseln und deren Typen sollten gemäß der impliziten Erzwingungsregeln von BigQuery kompatibel sein. Sie können die Namen und Eingabetypen der Eingabespalten aus den Metadaten des Modells im Abschnitt zu den Featurespalten abrufen.

  • query_statement: Eine Abfrage, die die zu verarbeitenden Featuredaten generiert. Informationen zur unterstützten SQL-Syntax der query_statement-Klausel finden Sie unter GoogleSQL-Abfragesyntax.

    Wenn query_statement angegeben ist, müssen die Namen der Eingabespalten aus der Abfrage mit den Namen der Eingabespalten in der TRANSFORM-Klausel des Modells übereinstimmen und ihre Typen sollten gemäß der impliziten Erzwingungsregeln von BigQuery kompatibel sein. Sie können die Namen und Eingabetypen der Eingabespalten aus den Metadaten des Modells im Abschnitt zu den Featurespalten abrufen.

Ausgabe

ML.TRANSFORM gibt die in der TRANSFORM-Klausel des Modells angegebenen Spalten zurück.

Beispiel

Im folgenden Beispiel werden Featuredaten verarbeitet, die mithilfe der TRANSFORM-Klausel im Modell namens mydataset.mymodel in Ihrem Standardprojekt vorverarbeitet wurden.

Erstellen Sie das Modell, das die TRANSFORM-Klausel enthält:

CREATE OR REPLACE MODEL `mydataset.mymodel`
  TRANSFORM(
    species,
    island,
    ML.MAX_ABS_SCALER(culmen_length_mm) OVER () AS culmen_length_mm,
    ML.MAX_ABS_SCALER(flipper_length_mm) OVER () AS flipper_length_mm,
    sex,
    body_mass_g)
  OPTIONS (
    model_type = 'linear_reg',
    input_label_cols = ['body_mass_g'])
AS (
  SELECT *
  FROM `bigquery-public-data.ml_datasets.penguins`
  WHERE body_mass_g IS NOT NULL
);

Gibt Featuredaten zurück, die von der Klausel TRANSFORM des Modells vorverarbeitet wurden:

SELECT
  *
FROM
  ML.TRANSFORM(
    MODEL `mydataset.mymodel`,
    TABLE `bigquery-public-data.ml_datasets.penguins`);

Das Ergebnis sieht etwa so aus:

+-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+
| species                             | island | culmen_length_mm    | flipper_length_mm   | sex    | culmen_depth_mm | body_mass_g |
--------------------------------------+--------+ ------------------- +---------------------+--------+-----------------+-------------+
| Adelie Penguin (Pygoscelis adeliae) | Dream  | 0.61409395973154368 | 0.79653679653679654 | Female | 18.4            | 3475.0      |
| Adelie Penguin (Pygoscelis adeliae) | Dream  | 0.66778523489932884 | 0.79653679653679654 | Male   | 19.1            | 4650.0      |
+-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+

Nächste Schritte