Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
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 agar sesuai dengan kebutuhan Anda.
CIPTAKAN MODEL Sederhana
Berikut ini merangkum opsi dasar 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 | (sel ect_query)}
-
Table_name atau kueri yang menentukan data pelatihan. Mereka dapat berupa tabel yang ada di sistem, atau kueri Amazon SELECT yang Redshift-compatible dilampirkan dengan tanda kurung, yaitu (). Setidaknya harus ada dua kolom dalam hasil kueri.
- Nama kolom TARGET
-
Nama kolom yang menjadi target prediksi. Kolom harus ada dalam klausa FROM.
- P rediksi_fungsi_nama_fungsi FUNGSI
-
Nilai yang menentukan nama fungsi pembelajaran mesin 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: :rol/ '}
-
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-bucket'
-
Nama bucket Amazon S3 yang Anda buat sebelumnya digunakan untuk berbagi data pelatihan dan artefak antara Amazon Redshift dan SageMaker AI. Amazon Redshift membuat subfolder di bucket ini sebelum membongkar data pelatihan. Saat pelatihan selesai, Amazon Redshift menghapus subfolder yang dibuat dan isinya.
- MAX_CELLS bilangan bulat
-
Jumlah maksimum sel untuk diekspor dari klausa FROM. Default adalah 1.000.000.
Jumlah sel adalah produk dari jumlah baris dalam data pelatihan (dihasilkan 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 sampel 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, lihatBiaya untuk menggunakan Amazon Redshift ML.
Untuk informasi selengkapnya tentang biaya yang terkait dengan berbagai nomor ponsel dan detail uji coba gratis, lihat harga https://aws.amazon.com/redshift/pricing
Amazon Redshift.
BUAT MODEL dengan panduan pengguna
Berikut ini, Anda dapat menemukan deskripsi opsi untuk CREATE MODEL selain opsi yang dijelaskan diCIPTAKAN MODEL Sederhana.
Secara default, CREATE MODEL mencari kombinasi pra-pemrosesan dan model terbaik 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 dapat memprediksi “pelanggan aktif” sepanjang waktu, ini menghasilkan akurasi tinggi tetapi nilai bisnis kecil. Untuk informasi tentang tujuan F1, lihat AutoMLJobObjective 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 preprosesor terbaik dan hyperparameter terbaik.
BUAT MODEL dengan sintaks panduan pengguna
CREATE MODEL menawarkan lebih banyak fleksibilitas pada aspek yang dapat Anda tentukan dan 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
- TIPE_MODEL {XGBOOST | MLP | PEMBELAJAR_LINIER}
-
(Opsional) Menentukan jenis model. Anda dapat menentukan apakah Anda ingin melatih model tipe model tertentu, seperti XGBoost, multilayer perceptron (MLP), atau Linear Learner, yang semuanya merupakan algoritma yang didukung Amazon AI Autopilot. SageMaker Jika Anda tidak menentukan parameter, maka semua jenis model yang didukung dicari selama pelatihan untuk model terbaik.
- TIPE_MASALAH (REGRESI | KLASIFIKASI_BINER | KLASASI_MULTIKLASIFIKASI)
-
(Opsional) Menentukan jenis masalah. Jika Anda mengetahui jenis masalahnya, Anda dapat membatasi Amazon Redshift untuk hanya mencari model terbaik dari jenis model tertentu. Jika Anda tidak menentukan parameter ini, jenis masalah akan ditemukan selama pelatihan, berdasarkan data Anda.
- TUJUAN ('MSE' | 'Akurasi' | 'F1' | 'F1Makro' | 'AUC')
-
(Opsional) Menentukan nama metrik objektif yang digunakan untuk mengukur kualitas prediktif 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 secara otomatis menggunakan MSE: untuk regresi, F1: untuk klasifikasi biner, Akurasi: untuk klasifikasi multiclass. Untuk informasi selengkapnya tentang tujuan, lihat AutoMLJobObjective di Referensi API Amazon SageMaker AI.
- MAX_CELLS bilangan bulat
-
(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.
- MAX_RUNTIME bilangan bulat
-
(Opsional) Menentukan jumlah waktu maksimum untuk berlatih. Pekerjaan pelatihan sering selesai lebih cepat tergantung pada ukuran dataset. Ini menentukan jumlah waktu maksimum yang harus dilakukan 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 ada di Amazon S3 dan dapat digunakan untuk tujuan lain. Jika disetel ke AKTIF, Amazon Redshift menghapus artefak di Amazon S3 setelah pelatihan selesai. Defaultnya ON.
- KMS_KEY_ID 'kms_key_id'
-
(Opsional) Menentukan apakah Amazon Redshift menggunakan enkripsi sisi server dengan AWS KMS kunci untuk melindungi data saat diam. Data yang sedang transit dilindungi dengan Secure Sockets Layer (SSL).
- PREPROCESSOR 'string'
-
(Opsional) Menentukan kombinasi tertentu dari preprocessor ke kumpulan kolom tertentu. Format adalah daftar ColumnSets, dan transformasi yang sesuai untuk diterapkan pada setiap set kolom. Amazon Redshift menerapkan semua transformator dalam daftar transformer tertentu ke semua kolom yang sesuai ColumnSet. Misalnya, untuk menerapkan OneHotEncoder dengan Imputer ke kolom t1 dan t2, gunakan perintah sampel 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 transformer berikut:
-
OneHotEncoder — Biasanya digunakan untuk mengkodekan nilai diskrit ke dalam vektor biner dengan satu nilai bukan nol. Transformator ini cocok untuk banyak model pembelajaran mesin.
-
OrdinalEncoder — Mengkodekan nilai diskrit menjadi satu integer. Transformator ini cocok untuk model pembelajaran mesin tertentu, seperti MLP dan Linear Learner.
-
NumericPassthrough — Meneruskan input apa adanya ke dalam model.
-
Impputer — Mengisi nilai yang hilang dan bukan nilai angka (NaN).
-
ImputerWithIndicator — Mengisi nilai yang hilang dan nilai NaN. Transformator ini juga menciptakan indikator apakah ada nilai yang hilang dan diisi.
-
Normalizer - Menormalkan nilai, yang dapat meningkatkan kinerja banyak algoritma pembelajaran mesin.
-
DateTimeVectorizer - Membuat penyematan 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 — Menstandardisasi fitur dengan menghapus rata-rata dan penskalaan ke varians unit.
-
MinMax — Mengubah fitur dengan menskalakan setiap fitur ke rentang tertentu.
Amazon Redshift ML menyimpan transformator terlatih, dan secara otomatis menerapkannya sebagai bagian dari kueri prediksi. Anda tidak perlu menentukannya saat menghasilkan prediksi dari model Anda.
BUAT model XGBoost 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 hyperparameter untuk digunakan saat melatih model ini, Anda dapat menggunakan CREATE MODEL dengan AUTO OFF untuk mematikan penemuan otomatis CREATE MODEL dari preprocessor dan hyperparameter. Untuk melakukannya, Anda secara eksplisit menentukan jenis model. XGBoost saat ini merupakan satu-satunya jenis model yang didukung saat AUTO disetel ke OFF. Anda dapat menentukan hyperparameter. Amazon Redshift menggunakan nilai default untuk hyperparameter apa pun yang Anda tentukan.
BUAT model XGBoost 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 model XGBoost dengan parameter AUTO OFF
- MATI OTOMATIS
-
Mematikan penemuan otomatis CREATE MODEL dari pemilihan preprosesor, algoritma, dan hiper-parameter.
- MODEL_TYPE XGBOOST
-
Menentukan untuk menggunakan XGBOOST untuk melatih model.
- TUJUAN str
-
Menentukan tujuan yang dikenali 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 Param eter tugas belajar
di dokumentasi XGBoost. - HYPERPARAMETER {DEFAULT | DEFAULT KECUALI (kunci 'nilai' (,..))}
-
Menentukan apakah parameter XGBoost default digunakan atau diganti oleh nilai yang ditentukan pengguna. Nilai-nilai harus ditutup dengan tanda kutip tunggal. Berikut ini adalah contoh parameter untuk XGBoost dan defaultnya.
Nama parameter Nilai parameter Nilai default Catatan nom_class
Bilangan Bulat Diperlukan untuk klasifikasi Multiclass.
N/A nom_round
Bilangan Bulat 100
N/A metode pohon
String Otomatis N/A kedalaman maksimum
Bilangan Bulat 6 [0, 10] berat min_anak 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 eTea 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 model XGBoost 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 kueri inferensi untuk memprediksi usia ikan dengan angka rekor lebih besar dari 2500. Ini menggunakan fungsi ml_fn_abalone_xgboost_multi_predict_age yang 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 ML mendukung 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 XGBoost, MLP, dan Linear Learner yang telah dilatih sebelumnya 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 tar ik -turun Pelatihan, pilih Pekerjaan pelatihan.
's3_path' menentukan lokasi S3 dari file artefak model.tar.gz yang akan digunakan saat membuat model.
- Fungsi nam a_fungsi (data_type [,...])
-
Nama fungsi yang akan dibuat dan tipe data dari argumen input. Anda dapat memberikan nama skema.
- RETURNS data_type
-
Jenis data dari nilai yang dikembalikan oleh fungsi.
- <account-id><role-name>IAM_ROLE {default | 'arn:aws:iam: :rol/ '}
-
Gunakan kata kunci default agar Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah CREATE MODEL dijalankan.
Gunakan Nama Sumber Daya Amazon (ARN) untuk peran IAM yang digunakan cluster Anda untuk otentikasi 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 diam. AWS KMS Data yang sedang transit 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 ML untuk 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_predictive dengan tipe argumen yang ditentukan untuk membuat prediksi.
Bawa model Anda sendiri (BYOM) - inferensi jarak jauh
Amazon Redshift ML juga 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 input. Lihat Jenis data untuk semua tipe data yang didukung.
Geography,geometry,hllsketchdan tidak didukung.Anda juga dapat memberikan nama fungsi di dalam skema menggunakan notasi dua bagian, seperti
myschema.myfunction. - RETURNS data_type
-
Jenis data dari nilai yang dikembalikan oleh fungsi. Lihat Jenis data untuk semua tipe data yang didukung.
Geography,geometry,hllsketchdan tidak didukung. - SAGEMAKER 'nama titik akhir' [: 'nama_model']
-
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 Wil AWS ayah yang Akun AWS sama dan dengan cluster Amazon Redshift. Untuk menemukan titik akhir Anda, luncurkan Amazon SageMaker AI. Di menu tarik -turun Infer ensi, pilih Titik Akhir.
- <account-id><role-name>IAM_ROLE {default | 'arn:aws:iam: :rol/ '}
-
Gunakan kata kunci default agar Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah CREATE MODEL dijalankan. Atau, Anda dapat menentukan ARN dari peran IAM untuk menggunakan peran itu.
- MAX_BATCH_ROWS bilangan bulat
-
Jumlah maksimum baris yang dikirim Amazon Redshift dalam permintaan batch tunggal untuk satu pemanggilan SageMaker AI. Ini didukung hanya 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 adalah
INT_MAX, atau 2.147.483.647. Parameter ini diperlukan hanya jika tipe data input dan yang dikembalikanSUPER. Nilai defaultnya adalahINT_MAX, atau 2.147.483.647.
Saat model digunakan 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 Amazon SageMaker AI dapat diskalakan secara otomatis.
-
Jika Anda tidak menggunakan tipe
SUPERdata sebagai input, model hanya menerima input dalam format nilai yang dipisahkan koma (CSV) yang sesuai dengan jenis kontentext/CSVdi SageMaker AI. -
Jika Anda tidak menggunakan tipe
SUPERdata sebagai input, output model adalah nilai tunggal dari jenis yang ditentukan saat Anda membuat fungsi. Outputnya dalam format nilai yang dipisahkan koma (CSV) melalui jenis kontentext/CSVdi SageMaker AI.VARCHARtipe data tidak boleh dalam tanda kutip dan tidak dapat berisi baris baru, dan setiap output harus berada di baris baru. -
Model menerima nol sebagai string kosong.
-
Ketika tipe data input adalah
SUPER, hanya satu argumen input yang didukung. -
Ketika tipe data input adalah
SUPER, 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
SUPERpemanggilan titik akhir adalahapplication/jsonketika MAX_BATCH_ROWS adalah1atau dalam semua kasus lainnya.application/jsonlines -
Ketika tipe data yang dikembalikan adalah tipe
SUPERterima dari pemanggilan titik akhir adalahapplication/jsonketika MAX_BATCH_ROWS adalah1atau dalam semua kasus lainnya.application/jsonlines
BUAT MODEL untuk contoh inferensi jarak jauh
Contoh berikut membuat model yang menggunakan titik akhir SageMaker AI untuk membuat prediksi. Pastikan titik akhir 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). LLM yang dihosting di Amazon SageMaker AI Jumpstart menerima dan mengembalikan jenis application/json konten dan mendukung satu JSON per pemanggilan. Jenis data input dan 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 K-Means algoritma 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 K-MEANS sintaks
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 K-MEANS parameter
- MATI OTOMATIS
-
Mematikan penemuan otomatis CREATE MODEL dari pemilihan preprosesor, algoritma, dan hiper-parameter.
- MODEL_TYPE KMEAN
-
Menentukan untuk menggunakan KMEANS untuk melatih model.
- PREPROCESSOR 'string'
-
Menentukan kombinasi tertentu dari preprocessor ke kumpulan kolom tertentu. Format adalah daftar ColumnSets, dan transformasi yang sesuai untuk diterapkan pada setiap set kolom. Amazon Redshift mendukung 3 K-Means preprosesor, yaitu, StandardScaler MinMax, dan. NumericPassthrough Jika Anda tidak ingin menerapkan prapemrosesan apa pun K-Means, pilih NumericPassthrough secara eksplisit sebagai transformator. Untuk informasi selengkapnya tentang transformer yang didukung, lihatBUAT MODEL dengan parameter panduan pengguna.
K-Means Algoritma menggunakan jarak Euclidean untuk menghitung kesamaan. Pra-pemrosesan data memastikan bahwa fitur model tetap pada skala yang sama dan menghasilkan hasil yang dapat diandalkan.
- HYPERPARAMETER DEFAULT KECUALI (K 'val' [,...])
-
Menentukan apakah K-Means parameter digunakan. Anda harus menentukan
Kparameter saat menggunakan K-Means algoritma. Untuk informasi selengkapnya, lihat K-Means Hyperparameter 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 Prakiraan
Model prakiraan 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 bagaimana menentukan harga persediaan, data kuantitas manufaktur untuk memprediksi berapa banyak dari satu item untuk dipesan, dan data lalu lintas web untuk memperkirakan berapa banyak lalu lintas yang mungkin diterima server web.
Batas kuota dari Amazon Fo recast diberlakukan dalam model perkiraan Amazon Redshift. Misalnya, jumlah perkiraan maksimum adalah 100, tetapi dapat disesuaikan. Menghapus model perkiraan tidak secara otomatis menghapus sumber daya terkait di Amazon Forecast. Jika Anda menghapus cluster Redshift, semua model terkait juga dihapus.
Perhatikan bahwa model Prakiraan 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 Prakiraan
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 Prakiraan
- nama_model_ramalan
-
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. Tabel atau hasil kueri harus memiliki setidaknya tiga kolom: (1) kolom varchar yang menentukan nama deret waktu. Setiap dataset 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 dataset 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 Seri Waktu Terkait.
- Nama kolom TARGET
-
Nama kolom yang menjadi target prediksi. Kolom harus ada dalam klausa FROM.
- <account-id><role-name>IAM_ROLE {default | 'arn:aws:iam: :rol/ '}
-
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 MENYALA
-
Menghidupkan penemuan otomatis CREATE MODEL algoritma dan pemilihan hiper-parameter. Menentukan saat membuat model Prakiraan menunjukkan untuk menggunakan Prakiraan AutoPredictor, di mana Amazon Forecast menerapkan kombinasi algoritma yang optimal untuk setiap deret waktu dalam kumpulan data Anda.
- PRAKIRAAN MODEL_TYPE
-
Menentukan untuk menggunakan FORECAST untuk melatih model.
- S3_BUCKET 'amzn-s3-demo-bucket'
-
Nama bucket Amazon Simple Storage Service yang Anda buat sebelumnya dan yang digunakan untuk berbagi data pelatihan dan artefak antara Amazon Redshift dan Amazon Forecast. Amazon Redshift membuat subfolder di bucket ini sebelum menurunkan data pelatihan. Saat pelatihan selesai, Amazon Redshift menghapus subfolder yang dibuat dan isinya.
- BILANGAN BULAT HORIZON
-
Jumlah maksimum prediksi yang dapat dikembalikan oleh model perkiraan. Setelah model dilatih, Anda tidak dapat mengubah bilangan bulat ini.
- Frekuensi prakiraan_frekuensi
-
Menentukan seberapa terperinci perkiraan yang Anda inginkan. Opsi yang tersedia adalah
Y | M | W | D | H | 30min | 15min | 10min | 5min | 1min. Diperlukan jika Anda melatih model perkiraan. - String PERCENTILES
-
String yang dipisahkan koma yang menentukan jenis perkiraan yang digunakan untuk melatih prediktor. Jenis prakiraan 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