Casi d'uso - Amazon Redshift

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à.

Casi d'uso

I seguenti casi d'uso mostrano come utilizzare CREATE MODEL in base alle proprie esigenze.

Semplice CREATE MODEL

Di seguito sono riepilogate le opzioni di base della CREATE MODEL sintassi.

Sintassi semplice CREATE MODEL

CREATE MODEL model_name FROM { table_name | ( select_query ) } TARGET column_name FUNCTION prediction_function_name IAM_ROLE { default } SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket', [ MAX_CELLS integer ] )

Parametri semplici CREATE MODEL

model_name

Il nome del modello. Il nome del modello in uno schema deve essere unico.

FROM{table_name | (select_query)}

Il nome_tabella o la query che specifica i dati di addestramento. Possono essere una tabella esistente nel sistema o una SELECT query compatibile con Amazon Redshift racchiusa tra parentesi, ovvero (). Il risultato della query deve contenere almeno due colonne.

TARGETnome_colonna

Il nome della colonna che diventa la destinazione della previsione. La colonna deve esistere nella clausola. FROM

FUNCTIONnome_funzione_predittivo

Un valore che specifica il nome della funzione di machine learning di Amazon Redshift da CREATE MODEL generare e utilizzare per fare previsioni utilizzando questo modello. La funzione viene creata nello stesso schema dell'oggetto modello e può essere sovraccaricata.

L'apprendimento automatico di Amazon Redshift supporta modelli come i modelli Xtreme Gradient Boosted tree () XGBoost per la regressione e la classificazione.

IAM<account-id><role-name>_ {default | 'arn:aws:iamROLE: ::role/ '}

Utilizza la parola chiave predefinita per fare in modo che Amazon Redshift utilizzi il IAM ruolo impostato come predefinito e associato al cluster durante l'esecuzione del CREAT MODEL comando. In alternativa, puoi specificare il tipo ARN di un IAM ruolo per utilizzare quel ruolo.

S3_ BUCKET 'amzn-s3-demo-bucket'

Il nome del bucket Amazon S3 creato in precedenza è stato utilizzato per condividere dati e artefatti di addestramento tra Amazon Redshift e. SageMaker Amazon Redshift crea una sottocartella in questo bucket prima di scaricare i dati di addestramento. Una volta completato l'addestramento, Amazon Redshift elimina la sottocartella creata e il relativo contenuto.

MAX_ intero CELLS

Il numero massimo di celle da esportare dalla FROM clausola. Il valore di default è 1.000.000.

Il numero di celle è il prodotto del numero di righe nei dati di addestramento (prodotti dalla tabella o dalla query delle FROM clausole) moltiplicato per il numero di colonne. Se il numero di celle nei dati di addestramento è superiore a quello specificato dal parametro max_cells, esegui il CREATE MODEL downsampling dei dati di addestramento della FROM clausola per ridurre le dimensioni del set di allenamento riportato di seguito _. MAX CELLS Consentire set di dati di addestramento più grandi può produrre una maggiore precisione, ma può anche significare che il modello richiede più tempo e costa di più.

Per ulteriori informazioni sui costi di utilizzo di Amazon Redshift, consultare Costi per l'utilizzo di Amazon Redshift ML.

Per ulteriori informazioni sui costi associati a vari numeri di cellulare e i dettagli della versione di prova gratuita, consultare Prezzi di Amazon Redshift.

CREATEMODELcon guida per l'utente

Di seguito, è possibile trovare una descrizione delle opzioni oltre CREATE MODEL a quelle descritte inSemplice CREATE MODEL.

Per impostazione predefinita, CREATE MODEL cerca la migliore combinazione di preelaborazione e modello per il set di dati specifico. Potrebbe essere necessario un controllo aggiuntivo o introdurre ulteriori informazioni sul dominio (ad esempio il tipo di problema o l'obiettivo) sul modello. In uno scenario di abbandono del cliente, se il risultato "il cliente non è attivo" è raro, l'obiettivo F1 è spesso preferito all'obiettivo Precisione. Poiché i modelli ad alta precisione potrebbero prevedere "il cliente è attivo" per tutto il tempo, ciò si traduce in un'elevata precisione ma poco valore aziendale. Per informazioni sull'obiettivo F1, consulta A utoMLJob Objective in Amazon SageMaker API Reference.

CREATEMODELSegue quindi i tuoi suggerimenti sugli aspetti specificati, come l'obiettivo. Allo stesso tempo, CREATE MODEL rileva automaticamente i migliori preprocessori e i migliori iperparametri.

CREATEMODELcon sintassi di guida per l'utente

CREATEMODELoffre maggiore flessibilità sugli aspetti che puoi specificare e sugli aspetti che Amazon Redshift rileva automaticamente.

CREATE MODEL model_name FROM { table_name | ( select_statement ) } TARGET column_name FUNCTION function_name IAM_ROLE { default } [ MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER} ] [ PROBLEM_TYPE ( REGRESSION | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION ) ] [ OBJECTIVE ( 'MSE' | 'Accuracy' | 'F1' | 'F1Macro' | 'AUC') ] SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket', | S3_GARBAGE_COLLECT { ON | OFF }, | KMS_KEY_ID 'kms_key_id', | MAX_CELLS integer, | MAX_RUNTIME integer (, ...) )

CREATEMODELcon parametri di guida per l'utente

MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER }

(Facoltativo) Specifica il tipo di modello. Puoi specificare se desideri addestrare un modello di un tipo di modello specifico, ad esempio multilayer perceptron (MLP) o Linear Learner, che sono tutti algoritmi supportati da Amazon Autopilot. XGBoost SageMaker Se non si specifica il parametro, durante l'addestramento vengono ricercati tutti i tipi di modello supportati per trovare il modello migliore.

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.

OBJECTIVE('' | 'PrecisioneMSE' | 'F1' | 'F1Macro' | '') AUC

(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 specificate una metrica in modo esplicito, il comportamento predefinito prevede l'utilizzo automatico di: per la regressione, F1MSE: per la classificazione binaria, Precisione: per la classificazione multiclasse. Per ulteriori informazioni sugli obiettivi, consulta A utoMLJob Objective in Amazon SageMaker API Reference.

MAX_ CELLS intero

(Facoltativo) 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.

MAX_ intero RUNTIME

(Facoltativo) 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).

S3_ GARBAGE _ COLLECT {SU |} OFF

(Facoltativo) Specifica se Amazon Redshift esegue la garbage collection sui set di dati risultanti utilizzati per addestrare i modelli e i modelli stessi. Se impostato suOFF, i set di dati risultanti utilizzati per addestrare modelli e modelli 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.

KMS_ KEY _ID 'kms_key_id'

(Facoltativo) 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

PREPROCESSORS'stringa'

(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' )

Amazon Redshift supporta i seguenti trasformatori:

  • OneHotEncoder — In genere viene utilizzato per codificare un valore discreto in un vettore binario con un valore diverso da zero. Questo trasformatore è adatto per numerosi modelli di machine learning.

  • OrdinalEncoder — Codifica i valori discreti in un unico numero intero. Questo trasformatore è adatto per determinati modelli di machine learning, come MLP Linear Learner.

  • NumericPassthrough — Trasmette l'input così com'è nel modello.

  • Imputer: riempie i valori mancanti e non i valori numerici (NaN).

  • ImputerWithIndicator — Compila i valori mancanti e i valori NaN. Questo trasformatore crea anche un indicatore di eventuali valori mancanti e compilati.

  • Normalizzatore: normalizza i valori, il che può migliorare le prestazioni di molti algoritmi di machine learning.

  • DateTimeVectorizer — Crea un incorporamento vettoriale, che rappresenta una colonna di tipo di dati datetime che può essere utilizzata nei modelli di machine learning.

  • PCA— Proietta i dati in uno spazio di dimensioni inferiori per ridurre il numero di feature mantenendo al contempo quante più informazioni possibili.

  • StandardScaler — Standardizza le funzionalità rimuovendo la media e scalando alla varianza unitaria.

  • MinMax — Trasforma le funzionalità ridimensionando ciascuna funzionalità in base a un determinato intervallo.

Amazon Redshift ML memorizza i trasformatori addestrati e li applica automaticamente come parte della query di previsione. Non è necessario specificarli quando si generano le previsioni dal modello.

CREATEXGBoostmodelli con AUTO OFF

AUTOOFFCREATEMODELha obiettivi generalmente diversi da quelli predefiniti CREATEMODEL.

In qualità di utente esperto che conosce già il tipo di modello che desidera utilizzare e gli iperparametri da utilizzare durante l'addestramento di tali modelli, può utilizzare CREATE MODEL with AUTO OFF per disattivare l'CREATEMODELindividuazione automatica di preprocessori e iperparametri. A questo scopo, è necessario specificare esplicitamente il tipo di modello. XGBoostè attualmente l'unico tipo di modello supportato quando AUTO è impostato su. OFF È possibile specificare iperparametri. Amazon Redshift utilizza i valori predefiniti per tutti gli iperparametri specificati.

CREATEXGBoostmodelli con AUTO OFF sintassi

CREATE MODEL model_name FROM { table_name | (select_statement ) } TARGET column_name FUNCTION function_name IAM_ROLE { default } AUTO OFF MODEL_TYPE XGBOOST OBJECTIVE { 'reg:squarederror' | 'reg:squaredlogerror' | 'reg:logistic' | 'reg:pseudohubererror' | 'reg:tweedie' | 'binary:logistic' | 'binary:hinge' | 'multi:softmax' | 'rank:pairwise' | 'rank:ndcg' } HYPERPARAMETERS DEFAULT EXCEPT ( NUM_ROUND '10', ETA '0.2', NUM_CLASS '10', (, ...) ) PREPROCESSORS 'none' SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket', | S3_GARBAGE_COLLECT { ON | OFF }, | KMS_KEY_ID 'kms_key_id', | MAX_CELLS integer, | MAX_RUNTIME integer (, ...) )

CREATEXGBoostmodelli con parametri AUTO OFF

AUTO OFF

Disattiva l'CREATEMODELindividuazione automatica del preprocessore, dell'algoritmo e della selezione degli iperparametri.

MODEL_TYPE XGBOOST

Specifica da utilizzare per XGBOOST addestrare il modello.

OBJECTIVEstr

Specifica un obiettivo riconosciuto dall'algoritmo. Amazon Redshift supporta reg:squarederror, reg:squaredlogerror, reg:logistic, reg:pseudohubererror, reg:tweedie, binary:logistic, binary:cerniera, multi:softmax. Per ulteriori informazioni su questi obiettivi, consulta la sezione Parametri delle attività di apprendimento nella XGBoost documentazione.

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]

L'esempio seguente prepara i dati perXGBoost.

DROP TABLE IF EXISTS abalone_xgb; CREATE TABLE abalone_xgb ( length_val float, diameter float, height float, whole_weight float, shucked_weight float, viscera_weight float, shell_weight float, rings int, record_number int); COPY abalone_xgb FROM 's3://redshift-downloads/redshift-ml/abalone_xg/' REGION 'us-east-1' IAM_ROLE default IGNOREHEADER 1 CSV;

L'esempio seguente crea un XGBoost modello con opzioni avanzate specificate, ad esempio MODEL _ TYPEOBJECTIVE, ePREPROCESSORS.

DROP MODEL abalone_xgboost_multi_predict_age; CREATE MODEL abalone_xgboost_multi_predict_age FROM ( SELECT length_val, diameter, height, whole_weight, shucked_weight, viscera_weight, shell_weight, rings FROM abalone_xgb WHERE record_number < 2500 ) TARGET rings FUNCTION ml_fn_abalone_xgboost_multi_predict_age IAM_ROLE default AUTO OFF MODEL_TYPE XGBOOST OBJECTIVE 'multi:softmax' PREPROCESSORS 'none' HYPERPARAMETERS DEFAULT EXCEPT (NUM_ROUND '100', NUM_CLASS '30') SETTINGS (S3_BUCKET 'amzn-s3-demo-bucket');

Nell'esempio seguente viene utilizzata una query di inferenza per prevedere l'età del pesce con un numero di record maggiore di 2500. Utilizza la funzione ml_fn_abalone_xgboost_multi_predict_age creata dal comando precedente.

select ml_fn_abalone_xgboost_multi_predict_age(length_val, diameter, height, whole_weight, shucked_weight, viscera_weight, shell_weight)+1.5 as age from abalone_xgb where record_number > 2500;

Bring your own model (BYOM) - inferenza locale

Amazon Redshift ML supporta l'utilizzo di bring your own model (BYOM) per l'inferenza locale.

Di seguito sono riepilogate le opzioni per la CREATE MODEL sintassi di. BYOM Puoi utilizzare un modello addestrato all'esterno di Amazon Redshift con Amazon SageMaker per l'inferenza nel database a livello locale in Amazon Redshift.

CREATEMODELsintassi per l'inferenza locale

Di seguito viene descritta la CREATE MODEL sintassi per l'inferenza locale.

CREATE MODEL model_name FROM ('job_name' | 's3_path' ) FUNCTION function_name ( data_type [, ...] ) RETURNS data_type IAM_ROLE { default } [ SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket', | --required KMS_KEY_ID 'kms_string') --optional ];

Amazon Redshift attualmente supporta solo modelli preaddestrati XGBoost e Linear Learner per. MLP BYOM Puoi importare SageMaker Autopilot e modelli addestrati direttamente in Amazon SageMaker per l'inferenza locale utilizzando questo percorso.

CREATEMODELparametri per l'inferenza locale

model_name

Il nome del modello. Il nome del modello in uno schema deve essere unico.

FROM('job_name' | 's3_path')

Il job_name utilizza un nome di SageMaker lavoro Amazon come input. Il nome del lavoro può essere un nome di lavoro di SageMaker formazione Amazon o un nome di lavoro Amazon SageMaker Autopilot. Il job deve essere creato nello stesso AWS account proprietario del cluster Amazon Redshift. Per trovare il nome del lavoro, avvia Amazon SageMaker. Nel menu a discesa Training (Addestramento), scegliere Training jobs (Processi di addestramento).

'percorso_s3' specifica la posizione S3 del file di artefatti del modello .tar.gz da utilizzare durante la creazione del modello.

FUNCTIONnome_funzione (data_type [,...])

Il nome della funzione da creare e i tipi di dati degli argomenti di input. È possibile fornire un nome dello schema.

RETURNStipo_dati

Il tipo di dati del valore restituito dalla funzione.

IAM<account-id><role-name>_ ROLE {default | 'arn:aws:iam: :role/ '}

Utilizza la parola chiave predefinita per fare in modo che Amazon Redshift utilizzi il IAM ruolo impostato come predefinito e associato al cluster durante l'esecuzione del CREATE MODEL comando.

Usa Amazon Resource Name (ARN) per un IAM ruolo utilizzato dal tuo cluster per l'autenticazione e l'autorizzazione.

SETTINGS(S3_ BUCKET 'amzn-s3-demo-bucket', | _ _ID 'kms_string') KMS KEY

La BUCKET clausola S3_ specifica la posizione Amazon S3 utilizzata per archiviare i risultati intermedi.

(Facoltativo) La clausola KMS _ KEY _ID specifica se Amazon Redshift utilizza la crittografia lato server con una AWS KMS chiave per proteggere i dati inattivi. I dati in transito sono protetti con Secure Sockets Layer (). SSL

Per ulteriori informazioni, consulta CREATEMODELcon guida per l'utente.

CREATEMODELper esempio di inferenza locale

L'esempio seguente crea un modello che è stato precedentemente addestrato in Amazon SageMaker, al di fuori di Amazon Redshift. Poiché il tipo di modello è supportato da Amazon Redshift ML per l'inferenza locale, quanto segue CREATE MODEL crea una funzione che può essere utilizzata localmente in Amazon Redshift. Puoi fornire un nome per il lavoro di SageMaker formazione.

CREATE MODEL customer_churn FROM 'training-job-customer-churn-v4' FUNCTION customer_churn_predict (varchar, int, float, float) RETURNS int IAM_ROLE default SETTINGS (S3_BUCKET 'amzn-s3-demo-bucket');

Dopo aver creato il modello, è possibile utilizzare la funzione customer_churn_predict con i tipi di argomenti specificati per effettuare le previsioni.

Porta il tuo modello (BYOM) - inferenza remota

Amazon Redshift ML supporta anche l'utilizzo di bring your own model (BYOM) per l'inferenza remota.

Di seguito sono riepilogate le opzioni per la CREATE MODEL sintassi di. BYOM

CREATEMODELsintassi per l'inferenza remota

Di seguito viene descritta la CREATE MODEL sintassi per l'inferenza remota.

CREATE MODEL model_name FUNCTION function_name ( data_type [, ...] ) RETURNS data_type SAGEMAKER 'endpoint_name'[:'model_name'] IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' } [SETTINGS (MAX_BATCH_ROWS integer)];

CREATEMODELparametri per l'inferenza remota

model_name

Il nome del modello. Il nome del modello in uno schema deve essere unico.

FUNCTIONfn_name ([data_type] [,...])

Il nome della funzione e i tipi di dati degli argomenti di input. Consulta Tipi di dati per l'elenco di tutti i tipi di dati supportati. Geography, geometry e hllsketch non sono supportati.

È inoltre possibile fornire un nome di funzione all'interno di uno schema utilizzando una notazione in due parti, ad esempio. myschema.myfunction

RETURNStipo_dati

Il tipo di dati del valore restituito dalla funzione. Consulta Tipi di dati per l'elenco di tutti i tipi di dati supportati. Geography, geometry e hllsketch non sono supportati.

SAGEMAKER'endpoint_name' [: 'nome_modello']

Il nome dell' SageMaker endpoint Amazon. Se il nome dell'endpoint punta a un endpoint multimodello, aggiungere il nome del modello da utilizzare. L'endpoint deve essere ospitato nella stessa AWS regione del cluster Amazon Redshift. Per trovare il tuo endpoint, avvia Amazon SageMaker. Nel menu a discesa Inference (Inferenza), scegliere Endpoints (Endpoint).

IAM<account-id><role-name>_ ROLE {default | 'arn:aws:iam: ::role/ '}

Utilizza la parola chiave predefinita per fare in modo che Amazon Redshift utilizzi il IAM ruolo impostato come predefinito e associato al cluster durante l'esecuzione del CREATE MODEL comando. In alternativa, puoi specificare il tipo ARN di un IAM ruolo per utilizzare quel ruolo.

MAX_ BATCH _ ROWS intero

Il numero massimo di righe che Amazon Redshift invia in una singola richiesta batch per una singola SageMaker chiamata. È supportato solo per l'inferenza BYOM remota. Il numero effettivo di righe in un batch dipende anche dalla dimensione di input, ma è inferiore o uguale a questo valore. Il valore minimo per questo parametro è 1. Il valore massimo èINT_MAX, ovvero 2.147.483.647. Questo parametro è obbligatorio solo quando entrambi i tipi di dati di input e restituiti lo sono. SUPER Il valore predefinito èINT_MAX, o 2.147.483.647.

Quando il modello viene distribuito su un SageMaker endpoint, SageMaker crea le informazioni del modello in Amazon Redshift. Esegue quindi l'inferenza attraverso la funzione esterna. Puoi utilizzare il SHOW MODEL comando per visualizzare le informazioni sul modello sul tuo cluster Amazon Redshift.

CREATEMODELper note sull'utilizzo dell'inferenza remota

Prima di utilizzarlo CREATE MODEL per l'inferenza remota, considera quanto segue:

  • L'endpoint deve essere ospitato dallo stesso AWS account proprietario del cluster Amazon Redshift.

  • Assicurati che l' SageMaker endpoint Amazon disponga di risorse sufficienti per accogliere le chiamate di inferenza da Amazon Redshift o che l'endpoint SageMaker Amazon possa essere ridimensionato automaticamente.

  • Se non utilizzi il tipo di SUPER dati come input, il modello accetta solo input nel formato di valori separati da virgole (CSV) che corrisponde a un tipo di contenuto di in. text/CSV SageMaker

  • Se non utilizzate il tipo di SUPER dati come input, l'output dei modelli è un singolo valore del tipo specificato al momento della creazione della funzione. L'output è nel formato di valori separati da virgole (CSV) tramite un tipo di contenuto di in. text/CSV SageMaker VARCHARi tipi di dati non possono essere racchiusi tra virgolette e non possono contenere nuove righe e ogni output deve essere racchiuso in una nuova riga.

  • I modelli accettano valori null come stringhe vuote.

  • Quando il tipo di dati di input èSUPER, è supportato solo un argomento di input.

  • Se il tipo di dati di input èSUPER, deve esserlo anche il tipo di dati restituitoSUPER.

  • MAX_ BATCH _ ROWS è obbligatorio quando entrambi i tipi di dati di input e restituiti lo sonoSUPER.

  • Quando il tipo di dati di input è SUPER il tipo di contenuto della chiamata dell'endpoint, l'invocazione è application/json quando MAX _ BATCH _ ROWS è 1 o application/jsonlines in tutti gli altri casi.

  • Quando il tipo di dati restituito è SUPER il tipo di accettazione dell'endpoint, la chiamata avviene application/json quando MAX _ BATCH _ ROWS è 1 o in tutti gli altri casi. application/jsonlines

CREATEMODELper esempio di inferenza remota

L'esempio seguente crea un modello che utilizza un SageMaker endpoint per fare previsioni. Assicurati che l'endpoint sia in esecuzione per fare previsioni e specificane il nome nel comando. CREATE MODEL

CREATE MODEL remote_customer_churn FUNCTION remote_fn_customer_churn_predict (varchar, int, float, float) RETURNS int SAGEMAKER 'customer-churn-endpoint' IAM_ROLE default;

L'esempio seguente crea un modello di inferenza remota BYOM con un modello di modello linguistico di grandi dimensioni (). LLM LLMsospitati su Amazon SageMaker Jumpstart accettano e restituiscono il tipo di application/json contenuto e ne supportano uno JSON per ogni chiamata. I tipi di dati di input e restituiti devono essere SUPER e MAX _ BATCH _ ROWS deve essere impostato su 1.

CREATE MODEL sample_super_data_model FUNCTION sample_super_data_model_predict(super) RETURNS super SAGEMAKER 'sample_super_data_model_endpoint' IAM_ROLE default SETTINGS (MAX_BATCH_ROWS 1);

CREATEMODELcon K- MEANS

Amazon Redshift supporta l'algoritmo K-Means che raggruppa i dati che non sono etichettati. Questo algoritmo risolve i problemi di clustering in cui si desidera individuare i raggruppamenti nei dati. I dati non classificati vengono raggruppati e ripartiti in base alle somiglianze e alle differenze.

CREATEMODELcon MEANS sintassi K-

CREATE MODEL model_name FROM { table_name | ( select_statement ) } FUNCTION function_name IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' } AUTO OFF MODEL_TYPE KMEANS PREPROCESSORS 'string' HYPERPARAMETERS DEFAULT EXCEPT ( K 'val' [, ...] ) SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket', KMS_KEY_ID 'kms_string', | -- optional S3_GARBAGE_COLLECT on / off, | -- optional MAX_CELLS integer, | -- optional MAX_RUNTIME integer -- optional);

CREATEMODELcon parametri K- MEANS

AUTO OFF

Disattiva l'CREATEMODELindividuazione automatica del preprocessore, dell'algoritmo e della selezione degli iperparametri.

MODEL_TYPE KMEANS

Specifica da utilizzare per KMEANS addestrare il modello.

PREPROCESSORS'stringa'

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 supporta 3 preprocessori K-Means, vale a dire StandardScaler, e. MinMax NumericPassthrough Se non desideri applicare alcuna preelaborazione per K-Means, scegli NumericPassthrough esplicitamente come trasformatore. Per ulteriori informazioni sulla funzionalità di trasformazione delle proprietà, consultare CREATEMODELcon parametri di guida per l'utente.

L'algoritmo K-Means utilizza la distanza eucliidea per calcolare la somiglianza. La preelaborazione dei dati garantisce che le caratteristiche del modello rimangano sulla stessa scala e producano risultati affidabili.

HYPERPARAMETERSDEFAULTEXCEPT(K 'val' [,...])

Specifica se vengono utilizzati i parametri K-Means. È necessario specificare il parametro K quando usi l'algoritmo K-Means. Per ulteriori informazioni, consulta K-Means Hyperparameters nella Amazon SageMaker Developer Guide

L'esempio seguente prepara i dati per K-Means.

CREATE MODEL customers_clusters FROM customers FUNCTION customers_cluster IAM_ROLE default AUTO OFF MODEL_TYPE KMEANS PREPROCESSORS '[ { "ColumnSet": [ "*" ], "Transformers": [ "NumericPassthrough" ] } ]' HYPERPARAMETERS DEFAULT EXCEPT ( K '5' ) SETTINGS (S3_BUCKET 'amzn-s3-demo-bucket'); select customer_id, customers_cluster(...) from customers; customer_id | customers_cluster -------------------- 12345 1 12346 2 12347 4 12348

CREATEMODELcon Forecast

I modelli di previsione in Redshift ML utilizzano Amazon Forecast per creare previsioni accurate di serie temporali. In questo modo puoi utilizzare i dati cronologici relativi a un periodo di tempo per fare previsioni su eventi futuri. I casi d'uso più comuni di Amazon Forecast includono l'utilizzo dei dati dei prodotti al dettaglio per decidere i prezzi dell'inventario, i dati sulla quantità di produzione per prevedere la quantità di un articolo da ordinare e i dati sul traffico Web per prevedere il traffico che potrebbe ricevere un server Web.

Quota limits from Amazon Forecast (Limiti di quota di Amazon Forecast) vengono applicati nei modelli di previsione di Amazon Redshift. Ad esempio, il numero massimo di previsioni è 100, ma è regolabile. L'eliminazione di un modello di previsione non elimina automaticamente le risorse associate in Amazon Forecast. Se elimini un cluster Redshift, vengono eliminati anche tutti i modelli associati.

Tieni presente che i modelli di previsione sono attualmente disponibili solo nelle seguenti regioni:

  • Stati Uniti orientali (Ohio) (us-east-2)

  • Stati Uniti orientali (Virginia settentrionale) (us-east-1)

  • Stati Uniti occidentali (Oregon) (us-west-2)

  • Asia Pacifico (Mumbai) (ap-south-1)

  • Asia Pacifico (Seoul) (ap-northeast-2)

  • Asia Pacifico (Singapore) (ap-southeast-1)

  • Asia Pacifico (Sydney) (ap-southeast-2)

  • Asia Pacifico (Tokyo) (ap-northeast-1)

  • Europa (Francoforte) (eu-central-1)

  • Europa (Irlanda) (eu-west-1)

CREATEMODELcon la sintassi Forecast

CREATE [ OR REPLACE ] MODEL forecast_model_name FROM { table_name | ( select_query ) } TARGET column_name IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>'} AUTO ON MODEL_TYPE FORECAST SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket', HORIZON integer, FREQUENCY forecast_frequency [PERCENTILES '0.1', '0.5', '0.9'] )

CREATEMODELcon parametri Forecast

forecast_model_name

Il nome del modello. Il nome del modello deve essere univoco.

FROM{nome_tabella | (select_query)}

Il nome_tabella o la query che specifica i dati di addestramento. Può trattarsi di una tabella esistente nel sistema o di una SELECT query compatibile con Amazon Redshift racchiusa tra parentesi. Il risultato della tabella o della query deve contenere almeno tre colonne: (1) una colonna varchar che specifica il nome della serie temporale. Ogni set di dati può avere più serie temporali, (2) una colonna data/ora e (3) la colonna di destinazione da prevedere. Questa colonna di destinazione deve essere di tipo int o float. Se fornisci un set di dati composto da più di tre colonne, Amazon Redshift presuppone che tutte le colonne aggiuntive facciano parte di una serie temporale correlata. Notare che le serie temporali correlate devono essere di tipo int o float. Per ulteriori informazioni sulle serie temporali correlate, consulta Using Related Time Series Datasets (Utilizzo di set di dati relativi alle serie temporali).

TARGETnome_colonna

Il nome della colonna che diventa la destinazione della previsione. La colonna deve esistere nella clausola. FROM

IAM<account-id><role-name>_ ROLE {default | 'arn:aws:iam: ::role/ '}

Utilizza la parola chiave predefinita per fare in modo che Amazon Redshift utilizzi il IAM ruolo impostato come predefinito e associato al cluster durante l'esecuzione del CREAT MODEL comando. In alternativa, puoi specificare un ARN IAM ruolo per utilizzare quel ruolo.

AUTOSU

Attiva il rilevamento CREATE MODEL automatico dell'algoritmo e della selezione degli iperparametri. Specificare on quando si crea un modello Forecast indica di utilizzare un Forecast AutoPredictor, in cui Amazon Forecast applica le combinazioni ottimali di algoritmi a ogni serie temporale del set di dati.

MODEL_TYPE FORECAST

Indica da utilizzare per FORECAST addestrare il modello.

S3_ 'BUCKETamzn-s3-demo-bucket'

Il nome del bucket Amazon Simple Storage Service creato in precedenza e utilizzato per condividere i dati di addestramento e gli artefatti tra Amazon Redshift e Amazon Forecast. Amazon Redshift crea una sottocartella in questo bucket prima di scaricare i dati di addestramento. Una volta completato l'addestramento, Amazon Redshift elimina la sottocartella creata e il relativo contenuto.

HORIZONnumero intero

Il numero massimo di previsioni che il modello di previsione può restituire. Una volta addestrato il modello, non è possibile modificare questo numero intero.

FREQUENCYfrequenza_prevista

Specifica la granularità desiderata per le previsioni. Le opzioni disponibili sono Y | M | W | D | H | 30min | 15min | 10min | 5min | 1min. Obbligatorio se stai addestrando un modello di previsione.

PERCENTILEScorda

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.

L'esempio seguente dimostra come creare un modello di previsione semplice.

CREATE MODEL forecast_example FROM forecast_electricity_ TARGET target IAM_ROLE 'arn:aws:iam::<account-id>:role/<role-name>' AUTO ON MODEL_TYPE FORECAST SETTINGS (S3_BUCKET 'amzn-s3-demo-bucket', HORIZON 24, FREQUENCY 'H', PERCENTILES '0.25,0.50,0.75,mean', S3_GARBAGE_COLLECT OFF);

Dopo aver creato il modello di previsione, puoi creare una nuova tabella con i dati di previsione.

CREATE TABLE forecast_model_results as SELECT Forecast(forecast_example)

È quindi possibile eseguire query sulla nuova tabella per ottenere previsioni.

SELECT * FROM forecast_model_results