Fonction ML.TRANSFORM
Ce document décrit la fonction ML.TRANSFORM
, que vous pouvez utiliser pour prétraiter des données de caractéristiques. Cette fonction traite les données d'entrée en appliquant les transformations de données capturées dans la clause TRANSFORM
d'un modèle existant. Les statistiques calculées pour la transformation des données lors de l'entraînement du modèle sont appliquées aux données d'entrée de la fonction.
Pour en savoir plus sur les modèles compatibles avec le prétraitement des caractéristiques, consultez la page Parcours utilisateur de bout en bout pour chaque modèle.
Syntaxe
ML.TRANSFORM( MODEL `project_id.dataset.model`, { TABLE `project_id.dataset.table` | (query_statement) } )
Arguments
ML.TRANSFORM
utilise les arguments suivants :
project_id
: ID de votre projetdataset
: valeurSTRING
qui indique l'ensemble de données BigQuery contenant le modèle.model
: nom d'un modèle. Le modèle doit avoir été créé à l'aide d'une instructionCREATE MODEL
qui inclut une clauseTRANSFORM
pour prétraiter manuellement les données de caractéristiques. Vous pouvez vérifier si un modèle utilise une clauseTRANSFORM
en utilisant la commandebq show
pour examiner les métadonnées du modèle. Si le modèle a été entraîné à l'aide d'une clauseTRANSFORM
, ses métadonnées contiennent une section concernant les colonnes de transformation. La fonction renvoie une erreur si vous spécifiez un modèle entraîné sans clauseTRANSFORM
.table
: nom de la table d'entrée qui contient les données de caractéristiques à prétraiter.Si
table
est spécifié, les noms des colonnes d'entrée de la table doivent correspondre aux noms des colonnes d'entrée de la clauseTRANSFORM
du modèle, et leurs types doivent être compatibles suivant les règles de coercition implicites de BigQuery. Vous pouvez obtenir les noms et les types de données des colonnes d'entrée à partir des métadonnées du modèle, dans la section sur les colonnes de caractéristiques.query_statement
: requête qui génère les données de caractéristiques à prétraiter. Pour connaître la syntaxe SQL acceptée par la clausequery_statement
, consultez la page Syntaxe des requêtes GoogleSQL.Si
query_statement
est spécifié, les noms des colonnes d'entrée de la requête doivent correspondre aux noms des colonnes d'entrée de la clauseTRANSFORM
du modèle, et leurs types doivent être compatibles suivant les règles de coercition implicites de BigQuery. Vous pouvez obtenir les noms et les types de données des colonnes d'entrée à partir des métadonnées du modèle, dans la section sur les colonnes de caractéristiques.
Sortie
ML.TRANSFORM
renvoie les colonnes spécifiées dans la clause TRANSFORM
du modèle.
Exemple
L'exemple suivant renvoie les données de caractéristiques prétraitées à l'aide de la clause TRANSFORM
incluse dans le modèle nommé mydataset.mymodel
dans votre projet par défaut.
Créez le modèle contenant la clause TRANSFORM
:
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 );
Renvoyez les données de caractéristiques prétraitées par la clause TRANSFORM
du modèle :
SELECT * FROM ML.TRANSFORM( MODEL `mydataset.mymodel`, TABLE `bigquery-public-data.ml_datasets.penguins`);
Le résultat ressemble à ce qui suit :
+-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+ | 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 | +-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+
Étapes suivantes
- Pour en savoir plus sur le prétraitement des caractéristiques, consultez la page Présentation du prétraitement des caractéristiques.