Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CREATE MODEL
Argomenti
Prerequisiti
Prima di utilizzare l'istruzione CREATE MODEL, completare i prerequisiti descritti in Configurazione del cluster per l'utilizzo di Amazon Redshift ML. Di seguito è riportato un riepilogo approfondito dei prerequisiti.
Crea un cluster Amazon Redshift con la console di AWS gestione o l'interfaccia a riga di AWS comando (CLI AWS ).
Allega la policy AWS Identity and Access Management (IAM) durante la creazione del cluster.
Per consentire ad Amazon Redshift e all' SageMaker intelligenza artificiale di assumere il ruolo di interagire con altri servizi, aggiungi la policy di fiducia appropriata al ruolo IAM.
Per maggiori dettagli sul ruolo IAM, sulla policy di attendibilità e su altri prerequisiti, consultare Configurazione del cluster per l'utilizzo di Amazon Redshift ML.
Di seguito, è possibile trovare diversi casi d'uso per l'istruzione CREATE MODEL.
Privilegi richiesti
Di seguito sono riportati i privilegi richiesti per CREATE MODEL:
Superuser
Utenti con il privilegio CREATE MODEL
Ruoli con il privilegio GRANT CREATE MODEL
Controllo dei costi
Amazon Redshift ML utilizza le risorse cluster esistenti per creare modelli di previsione, quindi non sono previsti costi aggiuntivi. Tuttavia, si potrebbero avere costi aggiuntivi se si deve ridimensionare il cluster o se si desidera addestrare i propri modelli. Amazon Redshift ML utilizza Amazon SageMaker AI per addestrare i modelli, il che comporta un costo aggiuntivo associato. Esistono modi per controllare i costi aggiuntivi, come la limitazione della quantità massima di tempo che l'addestramento può richiedere o limitando il numero di esempi di addestramento utilizzati per addestrare il modello. Per ulteriori informazioni consulta Costi per l'utilizzo di Amazon Redshift ML.
CREATE MODEL completo
Di seguito viene riportato un riepilogo delle opzioni di base della sintassi di CREATE MODEL.
Sintassi completa di CREATE MODEL
Di seguito è riportata la sintassi completa dell'istruzione CREATE MODEL.
Importante
Quando si crea un modello utilizzando l'istruzione CREATE MODEL, seguire l'ordine delle parole chiave nella sintassi seguente.
CREATE MODEL model_name FROM { table_name | ( select_statement ) | 'job_name' } [ TARGET column_name ] FUNCTION function_name [ ( data_type [, ...] ) ] [ RETURNS data_type ] -- supported only for BYOM [ SAGEMAKER 'endpoint_name'[:'model_name']] -- supported only for BYOM remote inference IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' } [ AUTO ON / OFF ] -- default is AUTO ON [ MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER | KMEANS | FORECAST } ] -- not required for non AUTO OFF case, default is the list of all supported types -- required for AUTO OFF [ PROBLEM_TYPE ( REGRESSION | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION ) ] -- not supported when AUTO OFF [ OBJECTIVE ( 'MSE' | 'Accuracy' | 'F1' | 'F1_Macro' | 'AUC' | 'reg:squarederror' | 'reg:squaredlogerror'| 'reg:logistic'| 'reg:pseudohubererror' | 'reg:tweedie' | 'binary:logistic' | 'binary:hinge', 'multi:softmax' | 'RMSE' | 'WAPE' | 'MAPE' | 'MASE' | 'AverageWeightedQuantileLoss' ) ] -- for AUTO ON: first 5 are valid -- for AUTO OFF: 6-13 are valid -- for FORECAST: 14-18 are valid [ PREPROCESSORS 'string' ] -- required for AUTO OFF, when it has to be 'none' -- optional for AUTO ON [ HYPERPARAMETERS { DEFAULT | DEFAULT EXCEPT ( Key 'value' (,...) ) } ] -- support XGBoost hyperparameters, except OBJECTIVE -- required and only allowed for AUTO OFF -- default NUM_ROUND is 100 -- NUM_CLASS is required if objective is multi:softmax (only possible for AUTO OFF) [ SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket', | -- required TAGS 'string', | -- optional KMS_KEY_ID 'kms_string', | -- optional S3_GARBAGE_COLLECT on / off, | -- optional, defualt is on. MAX_CELLS integer, | -- optional, default is 1,000,000 MAX_RUNTIME integer (, ...) | -- optional, default is 5400 (1.5 hours) HORIZON integer, | -- required if creating a forecast model FREQUENCY integer, | -- required if creating a forecast model PERCENTILES string, | -- optional if creating a forecast model MAX_BATCH_ROWS integer -- optional for BYOM remote inference ) ]
Parametri
- model_name
-
Il nome del modello. Il nome del modello in uno schema deve essere unico.
- FROM { table_name | ( select_query ) | 'job_name'}
-
Il nome_tabella o la query che specifica i dati di addestramento. Possono essere una tabella esistente nel sistema o una query SELECT compatibile con Amazon Redshift racchiusa tra parentesi, ovvero (). Il risultato della query deve contenere almeno due colonne.
- TARGET nome_colonna
-
Il nome della colonna che diventa la destinazione della previsione. La colonna deve esistere nella clausola FROM.
- FUNCTION nome_funzione ( tipo_dati [, ...] )
-
Il nome della funzione da creare e i tipi di dati degli argomenti di input. Puoi fornire il nome dello schema di uno schema nel tuo database anziché il nome di una funzione.
- RETURNS data_type
-
Il tipo di dati da restituire dalla funzione del modello. Il tipo di
SUPER
dati restituito è applicabile solo al BYOM con inferenza remota. - SAGEMAKER 'nome_endpoint'[:'nome_modello']
-
Il nome dell'endpoint Amazon SageMaker AI. Se il nome dell'endpoint punta a un endpoint multimodello, aggiungere il nome del modello da utilizzare. L'endpoint deve essere ospitato nello Regione AWS stesso cluster Amazon Redshift.
- IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>'}
-
Utilizzare la parola chiave predefinita per fare in modo che Amazon Redshift utilizzi il ruolo IAM impostato come predefinito e associato al cluster quando viene eseguito il comando CREATE MODEL. In alternativa, è possibile specificare un ARN di un ruolo IAM per utilizzare quel ruolo.
- [ AUTO ON / OFF ]
-
Attiva o disattiva il rilevamento automatico CREATE MODEL della selezione di preprocessore, algoritmo e iperparametri. Specificare on quando si crea un modello Forecast indica di utilizzare un AutoPredictor, in cui Amazon Forecast applica le combinazioni ottimali di algoritmi a ogni serie temporale del set di dati.
- MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER | KMEANS | FORECAST }
-
(Facoltativo) Specifica il tipo di modello. Puoi specificare se desideri addestrare un modello di un tipo specifico, come Multilayer Perceptron (MLP) XGBoost, KMEANS o Linear Learner, che sono tutti algoritmi supportati da Amazon AI Autopilot. SageMaker Se non si specifica il parametro, durante l'addestramento vengono ricercati tutti i tipi di modello supportati per trovare il modello migliore. Puoi anche creare un modello di previsione in Redshift ML per creare previsioni accurate di serie temporali.
- PROBLEM_TYPE ( REGRESSION | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION )
-
(Facoltativo) Specifica il tipo di problema. Se si conosce il tipo di problema, è possibile limitare Amazon Redshift alla ricerca solo del modello migliore di quel tipo di modello specifico. Se non si specifica questo parametro, durante l'addestramento viene rilevato un tipo di problema in base ai dati.
- OBIETTIVO ('MSE' | 'Precisione' | 'F1' | 'F1Macro' | 'AUC' | 'reg:squarederror' | 'reg:squaredlogerror' | 'reg:logistic' | 'reg:pseudohubererror' | 'reg:tweedie' | 'binary:logistic' | 'binary:hinge' | 'multi:softmax' | 'RMSE' | 'WAPE' | 'MAPE' | 'MASS' | '') AverageWeightedQuantileLoss
-
(Facoltativo) Specifica il nome del parametro dell'obiettivo utilizzato per misurare la qualità predittiva di un sistema di machine learning. Questo parametro è ottimizzato durante l'addestramento per fornire la migliore stima per i valori dei parametri del modello dai dati. Se non si specifica esplicitamente un parametro, il comportamento di default consiste nell'utilizzare automaticamente MSE: per la regressione, F1: per la classificazione binaria, Accuracy: per la classificazione multiclass. Per ulteriori informazioni sugli obiettivi, consulta Auto MLJob Objective nei parametri delle attività di riferimento dell'API Amazon SageMaker AI e Learning nella documentazione
di XGBOOST. I valori RMSE, WAPE, MAPE, MASE e sono applicabili AverageWeightedQuantileLoss solo ai modelli Forecast. Per ulteriori informazioni, consulta l'operazione API CreateAutoPredictor. - PREPROCESSORS 'string'
-
(Facoltativo) Specifica alcune combinazioni di preprocessori per determinati set di colonne. Il formato è un elenco di columnSets e le trasformazioni appropriate da applicare a ciascun set di colonne. Amazon Redshift applica tutti i trasformatori di uno specifico elenco di trasformatori a tutte le colonne dell'elenco corrispondente. ColumnSet Ad esempio, per applicare OneHotEncoder con Imputer alle colonne t1 e t2, usa il comando di esempio seguente.
CREATE MODEL customer_churn FROM customer_data TARGET 'Churn' FUNCTION predict_churn IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' } PROBLEM_TYPE BINARY_CLASSIFICATION OBJECTIVE 'F1' PREPROCESSORS '[ ... {"ColumnSet": [ "t1", "t2" ], "Transformers": [ "OneHotEncoder", "Imputer" ] }, {"ColumnSet": [ "t3" ], "Transformers": [ "OneHotEncoder" ] }, {"ColumnSet": [ "temp" ], "Transformers": [ "Imputer", "NumericPassthrough" ] } ]' SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket' )
- HYPERPARAMETERS { DEFAULT | DEFAULT EXCEPT ( key ‘value' (,..) ) }
-
Speciifica se i XGBoost parametri predefiniti vengono utilizzati o sostituiti dai valori specificati dall'utente. I valori devono essere racchiusi tra virgolette singole. Di seguito sono riportati alcuni esempi di parametri e relativi valori predefiniti. XGBoost
Nome del parametro Valore del parametro Valore predefinito Note num_class
Numero intero Necessario per la classificazione multiclass.
N/D num_round
Numero intero 100
N/D tree_method
Stringa Auto (Automatico) N/D max_depth
Numero intero 6 [0 , 10] min_child_weight Float 1 MinValue: 0, MaxValue: 120 subsample Float 1 MinValue: 0,5, MaxValue: 1 gamma Float 0 MinValue: 0, MaxValue: 5 alpha (alfa) Float 0 MinValue: 0, MaxValue: 100 eta Float 0.3 MinValue: 0,1, MaxValue 0,5 colsample_byleve Float 1 MinValue: 0,1, MaxValue: 1 colsample_bynode Float 1 MinValue: 0,1, MaxValue: 1 colsample_bytree Float 1 MinValue: 0,5, MaxValue: 1 lambda Float 1 MinValue: 0, MaxValue: 100 max_delta_step Numero intero 0 [0, 10] - IMPOSTAZIONI (S3_BUCKET 'amzn-s3-demo-bucket', | TAGS 'string', | KMS_KEY_ID 'kms_string', | S3_GARBAGE_COLLECT attivato/disattivato, | MAX_CELLS integer, | MAX_RUNTIME (,...), | HORIZON integer, | FREQUENZA_PREVISIONE DI FREQUENZA, | matrice di stringhe PERCENTILES)
-
La clausola S3_BUCKET specifica la posizione Amazon S3 utilizzata per archiviare i risultati intermedi.
(Facoltativo) Il parametro TAGS è un elenco separato da virgole di coppie chiave-valore che puoi utilizzare per etichettare le risorse create in Amazon AI SageMaker e Amazon Forecast. I tag consentono di organizzare le risorse e allocare i costi. I valori nella coppia sono opzionali, quindi puoi creare tag utilizzando il formato
key=value
o semplicemente creando una chiave. Per ulteriori informazioni sui tag in Amazon Redshift, consulta Panoramica dei tag.(Facoltativo) KMS_KEY_ID specifica se Amazon Redshift utilizza la crittografia lato server con una chiave AWS KMS per proteggere i dati a riposo. I dati in transito sono protetti con Secure Sockets Layer (SSL).
(Facoltativo) S3_GARBAGE_COLLECT { ON | OFF } specifica se Amazon Redshift esegue la rimozione di oggetti inutili (garbage collection) sui set di dati risultanti utilizzati per addestrare i modelli e i modelli stessi. Se impostato su OFF, i set di dati risultanti utilizzati per addestrare i modelli e i modelli stessi rimangono in Amazon S3 e possono essere utilizzati per altri scopi. Se impostato su ON, Amazon Redshift elimina gli artefatti in Amazon S3 al termine dell'addestramento. Il valore di default è ON.
(Facoltativo) MAX_CELLS specifica il numero di celle nei dati di addestramento. Questo valore è il prodotto del numero di record (nella query di addestramento o nella tabella) moltiplicato per il numero di colonne. Il valore di default è 1.000.000.
(Facoltativo) MAX_RUNTIME specifica la durata massima dell'addestramento. I processi di addestramento spesso vengono completati prima di questo valore, a seconda delle dimensioni del set di dati. Specifica la durata massima dell'addestramento. Il valore di default è 5.400 (90 minuti).
HORIZON specifica il numero massimo di previsioni che il modello di previsione può restituire. Una volta addestrato il modello, non è possibile modificare questo numero intero. Questo parametro è obbligatorio se si addestra un modello di previsione.
FREQUENCY specifica la granularità delle unità di tempo desiderate per le previsioni. Le opzioni disponibili sono
Y | M | W | D | H | 30min | 15min | 10min | 5min | 1min
. Questo parametro è obbligatorio se si addestra un modello di previsione.(Facoltativo) PERCENTILES è una stringa delimitata da virgole che specifica i tipi di previsione utilizzati per addestrare un predittore. I tipi di previsione possono essere quantili da 0,01 a 0,99, con incrementi di 0,01 o superiori. Puoi anche specificare la previsione media con la media. È possibile specificare un massimo di cinque tipi di previsione.
- Numero intero MAX_BATCH_ROWS
-
(Facoltativo) Il numero massimo di righe che Amazon Redshift invia in una singola richiesta batch per una singola chiamata SageMaker AI. È supportato solo per BYOM con inferenza remota. Il valore minimo per questo parametro è 1. Il valore massimo è, ovvero
INT_MAX
2.147.483.647. Questo parametro è obbligatorio solo quando sia i tipi di dati di input che quelli restituiti sono SUPER. Il valore predefinito èINT_MAX
, o 2.147.483.647.