Kasus penggunaan - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kasus penggunaan

Kasus penggunaan berikut menunjukkan cara menggunakan CREATE MODEL sesuai dengan kebutuhan Anda.

Model Buat Sederhana

Berikut ini merangkum opsi dasar dari sintaks CREATE MODEL.

Sintaks CREATE MODEL sederhana

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 ] )

Parameter CREATE MODEL sederhana

nama_model

Nama modul. Nama model dalam skema harus unik.

DARI {table_name | (select_query)}

Table_name atau kueri yang menentukan data pelatihan. Mereka dapat berupa tabel yang ada di sistem, atau kueri SELECT yang kompatibel dengan Amazon RedShift yang diapit dengan tanda kurung, yaitu (). Setidaknya harus ada dua kolom dalam hasil kueri.

TARGET kolom_name

Nama kolom yang menjadi target prediksi. Kolom harus ada dalam klausa FROM.

FUNGSI prediction_function_name

Nilai yang menentukan nama fungsi machine learning Amazon Redshift yang akan dihasilkan oleh CREATE MODEL dan digunakan untuk membuat prediksi menggunakan model ini. Fungsi ini dibuat dalam skema yang sama dengan objek model dan dapat kelebihan beban.

Pembelajaran mesin Amazon Redshift mendukung model, seperti model Xtreme Gradient Boosted tree (XGBoost) untuk regresi dan klasifikasi.

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

Gunakan kata kunci default agar Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah CREAT MODEL berjalan. Atau, Anda dapat menentukan ARN dari peran IAM untuk menggunakan peran itu.

S3_BUCKET 'amzn-s3-demo-ember'

Nama bucket Amazon S3 yang sebelumnya Anda buat digunakan untuk berbagi data pelatihan dan artefak antara Amazon Redshift dan AI. SageMaker Amazon Redshift membuat subfolder di bucket ini sebelum membongkar data pelatihan. Saat pelatihan selesai, Amazon Redshift menghapus subfolder yang dibuat dan isinya.

bilangan bulat MAX_CELLS

Jumlah maksimum sel yang akan diekspor dari klausa FROM. Default adalah 1.000.000.

Jumlah sel adalah produk dari jumlah baris dalam data pelatihan (diproduksi oleh tabel klausa FROM atau kueri) dikalikan jumlah kolom. Jika jumlah sel dalam data pelatihan lebih dari yang ditentukan oleh parameter max_cells, CREATE MODEL menurunkan data pelatihan klausa FROM untuk mengurangi ukuran set pelatihan di bawah MAX_CELLS. Mengizinkan kumpulan data pelatihan yang lebih besar dapat menghasilkan akurasi yang lebih tinggi tetapi juga dapat berarti model membutuhkan waktu lebih lama untuk dilatih dan harganya lebih mahal.

Untuk informasi tentang biaya penggunaan Amazon Redshift, lihat. Biaya untuk menggunakan Amazon Redshift ML

Untuk informasi selengkapnya tentang biaya yang terkait dengan berbagai nomor sel dan detail uji coba gratis, lihat harga Amazon Redshift.

BUAT MODEL dengan panduan pengguna

Berikut ini, Anda dapat menemukan deskripsi opsi untuk CREATE MODEL selain opsi yang dijelaskan dalamModel Buat Sederhana.

Secara default, CREATE MODEL mencari kombinasi terbaik dari preprocessing dan model untuk dataset spesifik Anda. Anda mungkin ingin kontrol tambahan atau memperkenalkan pengetahuan domain tambahan (seperti jenis masalah atau tujuan) atas model Anda. Dalam skenario churn pelanggan, jika hasil “pelanggan tidak aktif” jarang terjadi, maka tujuan F1 sering lebih disukai daripada tujuan akurasi. Karena model akurasi tinggi mungkin memprediksi “pelanggan aktif” sepanjang waktu, ini menghasilkan akurasi tinggi tetapi nilai bisnis kecil. Untuk informasi tentang tujuan F1, lihat MLJobTujuan Otomatis di Referensi API Amazon SageMaker AI.

Kemudian CREATE MODEL mengikuti saran Anda pada aspek yang ditentukan, seperti tujuan. Pada saat yang sama, CREATE MODEL secara otomatis menemukan preprocessors terbaik dan hyperparameter terbaik.

BUAT MODEL dengan sintaks panduan pengguna

CREATE MODEL menawarkan lebih banyak fleksibilitas pada aspek yang dapat Anda tentukan dan aspek-aspek yang ditemukan Amazon Redshift secara otomatis.

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

BUAT MODEL dengan parameter panduan pengguna

MODEL_TYPE {XGBOOST | MLP | LINEAR_LEARNER}

(Opsional) Menentukan jenis model. Anda dapat menentukan apakah Anda ingin melatih model jenis model tertentu, seperti, multilayer perceptron (MLP) XGBoost, atau Linear Learner, yang semuanya merupakan algoritme yang didukung Amazon AI Autopilot. SageMaker Jika Anda tidak menentukan parameter, maka semua jenis model yang didukung dicari selama pelatihan untuk model terbaik.

PROBLEM_TYPE (REGRESI | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION)

(Opsional) Menentukan jenis masalah. Jika Anda mengetahui jenis masalahnya, Anda dapat membatasi Amazon Redshift hanya untuk mencari model terbaik dari jenis model tertentu. Jika Anda tidak menentukan parameter ini, jenis masalah ditemukan selama pelatihan, berdasarkan data Anda.

TUJUAN ('MSE' | 'Akurasi' | 'F1' | 'F1Makro' | 'AUC')

(Opsional) Menentukan nama metrik objektif yang digunakan untuk mengukur kualitas prediktif dari sistem pembelajaran mesin. Metrik ini dioptimalkan selama pelatihan untuk memberikan perkiraan terbaik untuk nilai parameter model dari data. Jika Anda tidak menentukan metrik secara eksplisit, perilaku defaultnya adalah menggunakan MSE: untuk regresi secara otomatis, F1: untuk klasifikasi biner, Akurasi: untuk klasifikasi multiclass. Untuk informasi selengkapnya tentang tujuan, lihat MLJobTujuan Otomatis di Referensi Amazon SageMaker AI API.

bilangan bulat MAX_CELLS

(Opsional) Menentukan jumlah sel dalam data pelatihan. Nilai ini adalah produk dari jumlah catatan (dalam kueri atau tabel pelatihan) dikalikan jumlah kolom. Default adalah 1.000.000.

Bilangan bulat MAX_RUNTIME

(Opsional) Menentukan jumlah maksimum waktu untuk berlatih. Pekerjaan pelatihan sering selesai lebih cepat tergantung pada ukuran dataset. Ini menentukan jumlah waktu maksimum yang harus diambil pelatihan. Defaultnya adalah 5.400 (90 menit).

S3_GARBAGE_COLLECT {AKTIF | MATI}

(Opsional) Menentukan apakah Amazon Redshift melakukan pengumpulan sampah pada kumpulan data yang dihasilkan yang digunakan untuk melatih model dan model. Jika disetel ke OFF, kumpulan data yang dihasilkan digunakan untuk melatih model dan model tetap di Amazon S3 dan dapat digunakan untuk tujuan lain. Jika disetel ke ON, Amazon Redshift menghapus artefak di Amazon S3 setelah pelatihan selesai. Defaultnya adalah ON.

KMS_KEY_ID 'kms_key_id'

(Opsional) Menentukan apakah Amazon Redshift menggunakan enkripsi sisi server dengan kunci untuk melindungi data saat AWS KMS istirahat. Data dalam perjalanan dilindungi dengan Secure Sockets Layer (SSL).

PREPROCESSORS 'string'

(Opsional) Menentukan kombinasi tertentu dari preprocessors untuk set tertentu kolom. Formatnya adalah daftar ColumnSets, dan transformasi yang sesuai untuk diterapkan ke setiap set kolom. Amazon Redshift menerapkan semua transformator dalam daftar transformator tertentu ke semua kolom yang sesuai. ColumnSet Misalnya, untuk menerapkan OneHotEncoder dengan Imputer ke kolom t1 dan t2, gunakan perintah contoh berikut.

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 mendukung transformator berikut:

  • OneHotEncoder — Biasanya digunakan untuk menyandikan nilai diskrit menjadi vektor biner dengan satu nilai bukan nol. Trafo ini cocok untuk banyak model pembelajaran mesin.

  • OrdinalEncoder — Mengkodekan nilai diskrit menjadi bilangan bulat tunggal. Trafo ini cocok untuk model machine learning tertentu, seperti MLP dan Linear Learner.

  • NumericPassthrough — Melewati input apa adanya ke dalam model.

  • Imputer - Mengisi nilai yang hilang dan bukan nilai angka (NaN).

  • ImputerWithIndicator — Mengisi nilai yang hilang dan nilai NaN. Trafo ini juga menciptakan indikator apakah ada nilai yang hilang dan terisi.

  • Normalizer — Menormalkan nilai, yang dapat meningkatkan kinerja banyak algoritma pembelajaran mesin.

  • DateTimeVectorizer — Membuat embedding vektor, mewakili kolom tipe data datetime yang dapat digunakan dalam model pembelajaran mesin.

  • PCA — Memproyeksikan data ke ruang dimensi yang lebih rendah untuk mengurangi jumlah fitur sambil menyimpan informasi sebanyak mungkin.

  • StandardScaler — Standarisasi fitur dengan menghapus mean dan penskalaan ke varians unit.

  • MinMax — Mengubah fitur dengan menskalakan setiap fitur ke rentang tertentu.

Amazon Redshift ML menyimpan trafo terlatih, dan secara otomatis menerapkannya sebagai bagian dari kueri prediksi. Anda tidak perlu menentukannya saat membuat prediksi dari model Anda.

BUAT XGBoost model dengan AUTO OFF

AUTO OFF CREATE MODEL umumnya memiliki tujuan yang berbeda dari CREATE MODEL default.

Sebagai pengguna tingkat lanjut yang sudah mengetahui jenis model yang Anda inginkan dan hyperparameters untuk digunakan saat melatih model ini, Anda dapat menggunakan CREATE MODEL with AUTO OFF untuk mematikan penemuan otomatis CREATE MODEL dari preprocessors dan hyperparameters. Untuk melakukannya, Anda secara eksplisit menentukan jenis model. XGBoost saat ini satu-satunya jenis model yang didukung saat AUTO disetel ke OFF. Anda dapat menentukan hyperparameters. Amazon Redshift menggunakan nilai default untuk setiap hyperparameter yang Anda tentukan.

BUAT XGBoost model dengan sintaks AUTO OFF

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

BUAT XGBoost model dengan parameter AUTO OFF

MATI OTOMATIS

Menonaktifkan CREATE MODEL penemuan otomatis preprocessor, algoritma, dan pemilihan hyper-parameter.

MODEL_TYPE XGBOOST

Menentukan untuk menggunakan XGBOOST untuk melatih model.

TUJUAN str

Menentukan tujuan yang diakui oleh algoritma. Amazon Redshift mendukung reg:squarederror, reg:squaredlogerror, reg:logistic, reg:pseudohubererror, reg:tweedie, binary:logistic, binary:engsel, multi:softmax. Untuk informasi selengkapnya tentang tujuan ini, lihat Mempelajari parameter tugas dalam XGBoost dokumentasi.

HYPERPARAMETERS {DEFAULT | DEFAULT KECUALI (kunci 'nilai' (,..))}

Menentukan apakah XGBoost parameter default digunakan atau diganti oleh nilai-nilai yang ditentukan pengguna. Nilai-nilai harus diapit dengan tanda kutip tunggal. Berikut ini adalah contoh parameter untuk XGBoost dan defaultnya.

Nama parameter Nilai parameter Nilai default Catatan

num_class

Bilangan Bulat

Diperlukan untuk klasifikasi Multiclass.

N/A

num_round

Bilangan Bulat

100

N/A

tree_method

String Otomatis N/A

max_depth

Bilangan Bulat 6 [0, 10]
min_child_weight Desimal 1 MinValue: 0, MaxValue: 120
subsampel Desimal 1 MinValue: 0,5, MaxValue: 1
gama Desimal 0 MinValue: 0, MaxValue: 5
alfa Desimal 0 MinValue: 0, MaxValue: 1000
eta Desimal 0,3 MinValue: 0,1, MaxValue: 0,5
colsample_byleve Desimal 1 MinValue: 0,1, MaxValue: 1
colsample_bynode Desimal 1 MinValue: 0,1, MaxValue: 1
colsample_bytree Desimal 1 MinValue: 0,5, MaxValue: 1
lambda Desimal 1 MinValue: 0, MaxValue: 1000
max_delta_step Bilangan Bulat 0 [0, 10]

Contoh berikut menyiapkan data untuk XGBoost.

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;

Contoh berikut membuat XGBoost model dengan opsi lanjutan tertentu, seperti MODEL_TYPE, OBJECTIVE, dan PREPROCESSORS.

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

Contoh berikut menggunakan query inferensi untuk memprediksi umur ikan dengan angka rekor lebih besar dari 2500. Ini menggunakan fungsi ml_fn_abalone_xgboost_multi_predict_age dibuat dari perintah di atas.

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;

Bawa model Anda sendiri (BYOM) - inferensi lokal

Amazon Redshift MLmendukung penggunaan bring your own model (BYOM) untuk inferensi lokal.

Berikut ini merangkum opsi untuk sintaks CREATE MODEL untuk BYOM. Anda dapat menggunakan model yang dilatih di luar Amazon Redshift dengan Amazon SageMaker AI untuk inferensi dalam database secara lokal di Amazon Redshift.

BUAT SINTAKS MODEL untuk inferensi lokal

Berikut ini menjelaskan sintaks CREATE MODEL untuk inferensi lokal.

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 saat ini hanya mendukung model Pretrained XGBoost, MLP, dan Linear Learner untuk BYOM. Anda dapat mengimpor SageMaker AI Autopilot dan model yang dilatih langsung di Amazon SageMaker AI untuk inferensi lokal menggunakan jalur ini.

BUAT parameter MODEL untuk inferensi lokal

nama_model

Nama modul. Nama model dalam skema harus unik.

DARI ('job_name' | 's3_path')

Job_name menggunakan nama pekerjaan Amazon SageMaker AI sebagai input. Nama pekerjaan dapat berupa nama pekerjaan pelatihan Amazon SageMaker AI atau nama pekerjaan Amazon SageMaker AI Autopilot. Pekerjaan harus dibuat di AWS akun yang sama yang memiliki cluster Amazon Redshift. Untuk menemukan nama pekerjaan, luncurkan Amazon SageMaker AI. Di menu tarik-turun Pelatihan, pilih Pekerjaan Pelatihan.

The 's3_path' menentukan lokasi S3 dari file artefak model.tar.gz yang akan digunakan saat membuat model.

FUNGSI function_name (data_type [,...])

Nama fungsi yang akan dibuat dan tipe data dari argumen masukan. Anda dapat memberikan nama skema.

RETURNS data_type

Tipe data dari nilai yang dikembalikan oleh fungsi.

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

Gunakan kata kunci default agar Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah CREATE MODEL berjalan.

Gunakan Amazon Resource Name (ARN) untuk peran IAM yang digunakan klaster Anda untuk autentikasi dan otorisasi.

PENGATURAN (S3_BUCKET 'amzn-s3-demo-bucket', | KMS_KEY_ID 'kms_string')

Klausa S3_BUCKET menentukan lokasi Amazon S3 yang digunakan untuk menyimpan hasil perantara.

(Opsional) Klausa KMS_KEY_ID menentukan apakah Amazon Redshift menggunakan enkripsi sisi server dengan kunci untuk melindungi data saat istirahat. AWS KMS Data dalam perjalanan dilindungi dengan Secure Sockets Layer (SSL).

Untuk informasi selengkapnya, lihat BUAT MODEL dengan panduan pengguna.

BUAT MODEL untuk contoh inferensi lokal

Contoh berikut membuat model yang sebelumnya telah dilatih di Amazon SageMaker AI, di luar Amazon Redshift. Karena tipe model didukung oleh Amazon Redshift MLuntuk inferensi lokal, CREATE MODEL berikut membuat fungsi yang dapat digunakan secara lokal di Amazon Redshift. Anda dapat memberikan nama pekerjaan pelatihan SageMaker AI.

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

Setelah model dibuat, Anda dapat menggunakan fungsi customer_churn_predict dengan tipe argumen yang ditentukan untuk membuat prediksi.

Bawa model Anda sendiri (BYOM) - inferensi jarak jauh

Amazon Redshift MLjuga mendukung penggunaan bring your own model (BYOM) untuk inferensi jarak jauh.

Berikut ini merangkum opsi untuk sintaks CREATE MODEL untuk BYOM.

BUAT SINTAKS MODEL untuk inferensi jarak jauh

Berikut ini menjelaskan sintaks CREATE MODEL untuk inferensi jarak jauh.

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)];

BUAT parameter MODEL untuk inferensi jarak jauh

nama_model

Nama modul. Nama model dalam skema harus unik.

FUNGSI fn_name ([data_type] [,...])

Nama fungsi dan tipe data dari argumen masukan. Lihat Tipe data untuk semua tipe data yang didukung. Geography,geometry, dan hllsketch tidak didukung.

Anda juga dapat memberikan nama fungsi di dalam skema menggunakan notasi dua bagian, seperti. myschema.myfunction

RETURNS data_type

Tipe data dari nilai yang dikembalikan oleh fungsi. Lihat Tipe data untuk semua tipe data yang didukung. Geography,geometry, dan hllsketch tidak didukung.

SAGEMAKER 'endpoint_name' [: 'model_name']

Nama titik akhir Amazon SageMaker AI. Jika nama titik akhir menunjuk ke titik akhir multimodel, tambahkan nama model yang akan digunakan. Titik akhir harus di-host di AWS Wilayah yang sama dan Akun AWS sebagai cluster Amazon Redshift. Untuk menemukan titik akhir Anda, luncurkan Amazon SageMaker AI. Di menu tarik-turun Inferensi, pilih Endpoints.

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

Gunakan kata kunci default agar Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah CREATE MODEL berjalan. Atau, Anda dapat menentukan ARN dari peran IAM untuk menggunakan peran itu.

MAX_BATCH_ROWS bilangan bulat

Jumlah maksimum baris yang dikirimkan Amazon Redshift dalam satu permintaan batch untuk satu pemanggilan SageMaker AI. Ini hanya didukung untuk BYOM dengan inferensi jarak jauh. Jumlah sebenarnya dari baris dalam batch juga tergantung pada ukuran input, tetapi kurang dari atau sama dengan nilai ini. Nilai minimum parameter ini adalah 1. Nilai maksimumnya adalahINT_MAX, atau 2.147.483.647. Parameter ini diperlukan hanya ketika input dan tipe data yang dikembalikanSUPER. Nilai defaultnya adalahINT_MAX, atau 2.147,483.647.

Saat model diterapkan ke titik akhir SageMaker AI, SageMaker AI membuat informasi model di Amazon Redshift. Kemudian melakukan inferensi melalui fungsi eksternal. Anda dapat menggunakan perintah SHOW MODEL untuk melihat informasi model di cluster Amazon Redshift Anda.

BUAT MODEL untuk catatan penggunaan inferensi jarak jauh

Sebelum menggunakan CREATE MODEL untuk inferensi jarak jauh, pertimbangkan hal berikut:

  • Titik akhir harus di-host oleh AWS akun yang sama yang memiliki cluster Amazon Redshift.

  • Pastikan titik akhir Amazon SageMaker AI memiliki sumber daya yang cukup untuk mengakomodasi panggilan inferensi dari Amazon Redshift atau titik akhir SageMaker Amazon AI dapat diskalakan secara otomatis.

  • Jika Anda tidak menggunakan tipe SUPER data sebagai input, model hanya menerima input dalam format nilai yang dipisahkan koma (CSV) yang sesuai dengan jenis konten di AI. text/CSV SageMaker

  • Jika Anda tidak menggunakan tipe SUPER data sebagai input, output model adalah nilai tunggal dari tipe yang ditentukan saat Anda membuat fungsi. Outputnya dalam format nilai dipisahkan koma (CSV) melalui jenis text/CSV konten dalam AI. SageMaker VARCHARtipe data tidak dapat dalam tanda kutip dan tidak dapat berisi baris baru, dan setiap output harus dalam baris baru.

  • Model menerima null sebagai string kosong.

  • Ketika tipe data masukanSUPER, hanya satu argumen input yang didukung.

  • Ketika tipe data input adalahSUPER, tipe data yang dikembalikan juga harusSUPER.

  • MAX_BATCH_ROWS diperlukan ketika tipe data input dan yang dikembalikan adalah SUPER.

  • Ketika tipe data input adalah tipe konten dari SUPER pemanggilan titik akhir adalah application/json ketika MAX_BATCH_ROWS adalah atau dalam semua kasus lainnya. 1 application/jsonlines

  • Ketika tipe data yang dikembalikan adalah tipe terima dari SUPER pemanggilan titik akhir adalah application/json ketika MAX_BATCH_ROWS adalah atau dalam semua kasus lainnya. 1 application/jsonlines

BUAT MODEL untuk contoh inferensi jarak jauh

Contoh berikut membuat model yang menggunakan titik akhir SageMaker AI untuk membuat prediksi. Pastikan bahwa endpoint berjalan untuk membuat prediksi dan menentukan namanya dalam perintah 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;

Contoh berikut membuat BYOM dengan inferensi jarak jauh dengan model model bahasa besar (LLM). LLMs di-host di Amazon SageMaker AI Jumpstart menerima dan mengembalikan jenis application/json konten dan mereka mendukung satu JSON per pemanggilan. Masukan dan tipe data yang dikembalikan harus SUPER dan MAX_BATCH_ROWS harus disetel ke 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);

BUAT MODEL dengan K-MEANS

Amazon Redshift mendukung algoritma K-Means yang mengelompokkan data yang tidak diberi label. Algoritma ini memecahkan masalah pengelompokan di mana Anda ingin menemukan pengelompokan dalam data. Data yang tidak diklasifikasikan dikelompokkan dan dipartisi berdasarkan persamaan dan perbedaannya.

BUAT MODEL dengan sintaks K-MEANS

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);

BUAT MODEL dengan parameter K-MEANS

MATI OTOMATIS

Menonaktifkan CREATE MODEL penemuan otomatis preprocessor, algoritma, dan pemilihan hyper-parameter.

MODEL_TYPE KMEANS

Menentukan untuk menggunakan KMEANS untuk melatih model.

PREPROCESSORS 'string'

Menentukan kombinasi tertentu dari preprocessors untuk set tertentu kolom. Formatnya adalah daftar ColumnSets, dan transformasi yang sesuai untuk diterapkan ke setiap set kolom. Amazon Redshift mendukung 3 preprosesor K-Means, yaitu StandardScaler,, dan. MinMax NumericPassthrough Jika Anda tidak ingin menerapkan pra-pemrosesan apa pun untuk K-Means, pilih NumericPassthrough secara eksplisit sebagai transformator. Untuk informasi selengkapnya tentang trafo yang didukung, lihat. BUAT MODEL dengan parameter panduan pengguna

Algoritma K-Means menggunakan jarak Euclidean untuk menghitung kesamaan. Preprocessing data memastikan bahwa fitur model tetap pada skala yang sama dan menghasilkan hasil yang andal.

HYPERPARAMETERS DEFAULT KECUALI (K 'val' [,...])

Menentukan apakah parameter K-Means digunakan. Anda harus menentukan K parameter saat menggunakan algoritma K-Means. Untuk informasi selengkapnya, lihat K-Means Hyperparameters di Panduan Pengembang Amazon SageMaker AI

Contoh berikut menyiapkan data untuk 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

BUAT MODEL dengan Forecast

Model Forecast di Redshift ML menggunakan Amazon Forecast untuk membuat perkiraan deret waktu yang akurat. Melakukannya memungkinkan Anda menggunakan data historis selama periode waktu tertentu untuk membuat prediksi tentang peristiwa masa depan. Kasus penggunaan umum Amazon Forecast termasuk menggunakan data produk ritel untuk memutuskan cara menentukan harga inventaris, membuat data kuantitas untuk memprediksi berapa banyak satu item yang akan dipesan, dan data lalu lintas web untuk memperkirakan berapa banyak lalu lintas yang mungkin diterima server web.

Batas kuota dari Amazon Forecast diberlakukan dalam model perkiraan Amazon Redshift. Misalnya, jumlah perkiraan maksimum adalah 100, tetapi dapat disesuaikan. Menjatuhkan model perkiraan tidak secara otomatis menghapus sumber daya terkait di Amazon Forecast. Jika Anda menghapus kluster Redshift, semua model terkait juga akan dihapus.

Perhatikan bahwa model Forecast saat ini hanya tersedia di Wilayah berikut:

  • AS Timur (Ohio) (us-east-2)

  • US East (N. Virginia) (us-east-1)

  • US West (Oregon) (us-west-2)

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

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

  • Asia Pasifik (Singapura) (ap-southeast-1)

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

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

  • Eropa (Frankfurt) (eu-central-1)

  • Eropa (Irlandia) (eu-west-1)

BUAT MODEL dengan sintaks 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'] )

BUAT MODEL dengan parameter Forecast

forecast_model_name

Nama modul. Nama model harus unik.

DARI {table_name | (select_query)}

Table_name atau kueri yang menentukan data pelatihan. Ini bisa berupa tabel yang ada di sistem, atau kueri SELECT yang kompatibel dengan Amazon Redshift yang dilampirkan dengan tanda kurung. Hasil tabel atau kueri harus memiliki setidaknya tiga kolom: (1) kolom varchar yang menentukan nama deret waktu. Setiap kumpulan data dapat memiliki beberapa deret waktu; (2) kolom datetime; dan (3) kolom target untuk diprediksi. Kolom target ini harus berupa int atau float. Jika Anda menyediakan kumpulan data yang memiliki lebih dari tiga kolom, Amazon Redshift mengasumsikan bahwa semua kolom tambahan adalah bagian dari deret waktu terkait. Perhatikan bahwa deret waktu terkait harus bertipe int atau float. Untuk informasi selengkapnya tentang deret waktu terkait, lihat Menggunakan Kumpulan Data Deret Waktu Terkait.

TARGET kolom_name

Nama kolom yang menjadi target prediksi. Kolom harus ada dalam klausa FROM.

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

Gunakan kata kunci default agar Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah CREAT MODEL berjalan. Atau, Anda dapat menentukan ARN dari peran IAM untuk menggunakan peran itu.

OTOMATIS PADA

Menghidupkan CREATE MODEL penemuan otomatis algoritma dan pemilihan hyper-parameter. Menentukan saat membuat model Forecast menunjukkan untuk menggunakan Forecast AutoPredictor, di mana Amazon Forecast menerapkan kombinasi algoritma yang optimal untuk setiap deret waktu dalam kumpulan data Anda.

MODEL_TYPE PERKIRAAN

Menentukan untuk menggunakan FORECAST untuk melatih model.

S3_BUCKET 'amzn-s3-demo-ember'

Nama bucket Amazon Simple Storage Service yang sebelumnya Anda buat dan digunakan untuk berbagi data pelatihan dan artefak antara Amazon Redshift dan Amazon Forecast. Amazon Redshift membuat subfolder di bucket ini sebelum membongkar data pelatihan. Saat pelatihan selesai, Amazon Redshift menghapus subfolder yang dibuat dan isinya.

Bilangan bulat HORIZON

Jumlah prediksi maksimum yang dapat dikembalikan oleh model perkiraan. Setelah model dilatih, Anda tidak dapat mengubah bilangan bulat ini.

FREKUENSI forecast_frequency

Menentukan seberapa terperinci Anda ingin prakiraan menjadi. Pilihan yang tersedia adalahY | M | W | D | H | 30min | 15min | 10min | 5min | 1min. Diperlukan jika Anda melatih model perkiraan.

String PERSENTIL

String yang dibatasi koma yang menentukan jenis perkiraan yang digunakan untuk melatih prediktor. Jenis Forecast dapat berupa kuantil dari 0,01 hingga 0,99, dengan kenaikan 0,01 atau lebih tinggi. Anda juga dapat menentukan perkiraan rata-rata dengan mean. Anda dapat menentukan maksimal lima jenis perkiraan.

Contoh berikut menunjukkan cara membuat model perkiraan sederhana.

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);

Setelah Anda membuat model perkiraan, Anda dapat membuat tabel baru dengan data prediksi.

CREATE TABLE forecast_model_results as SELECT Forecast(forecast_example)

Anda kemudian dapat menanyakan tabel baru untuk mendapatkan prediksi.

SELECT * FROM forecast_model_results