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.
Sederhana CREATE MODEL
Berikut ini merangkum opsi dasar CREATE MODEL sintaks.
CREATEMODELSintaks 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 ] )
CREATEMODELParameter sederhana
- nama_model
-
Nama modul. Nama model dalam skema harus unik.
- FROM{table_name | (select_query)}
-
Table_name atau query yang menentukan data pelatihan. Mereka dapat berupa tabel yang ada di sistem, atau SELECT kueri yang kompatibel dengan Amazon RedShift yang diapit dengan tanda kurung, yaitu (). Setidaknya harus ada dua kolom dalam hasil kueri.
- TARGETcolumn_name
-
Nama kolom yang menjadi target prediksi. Kolom harus ada dalam FROM klausa.
- FUNCTIONprediction_function_name
-
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.
- IAM<account-id><role-name>_ ROLE {default | 'arn:aws:iam: ::role/ '}
-
Gunakan kata kunci default agar Amazon Redshift menggunakan IAM peran yang ditetapkan sebagai default dan terkait dengan cluster saat CREAT MODEL perintah berjalan. Atau, Anda dapat menentukan ARN IAM peran untuk menggunakan peran tersebut.
- 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. SageMaker 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 FROM klausa. Default adalah 1.000.000.
Jumlah sel adalah produk dari jumlah baris dalam data pelatihan (diproduksi oleh tabel FROM klausa atau kueri) dikalikan jumlah kolom. Jika jumlah sel dalam data pelatihan lebih dari yang ditentukan oleh parameter max_cells, CREATE MODEL turunkan data pelatihan FROM klausa 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
.
CREATEMODELdengan panduan pengguna
Berikut ini, Anda dapat menemukan deskripsi opsi untuk CREATE MODEL selain opsi yang dijelaskan dalamSederhana CREATE MODEL.
Secara default, CREATE MODEL cari 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 utoMLJobTujuan dalam SageMaker APIReferensi Amazon.
Kemudian CREATE MODEL berikut saran Anda pada aspek-aspek yang ditentukan, seperti tujuan. Pada saat yang sama, secara CREATE MODEL otomatis menemukan preprocessors terbaik dan hyperparameter terbaik.
CREATEMODELdengan sintaks panduan pengguna
CREATEMODELmenawarkan lebih banyak fleksibilitas pada aspek-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 (, ...) )
CREATEMODELdengan 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 merupakan semua algoritme yang didukung Amazon Autopilot. SageMaker Jika Anda tidak menentukan parameter, maka semua jenis model yang didukung dicari selama pelatihan untuk model terbaik.
- PROBLEM_TYPE ( REGRESSION | 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.
- OBJECTIVE('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 secara otomatis menggunakanMSE: untuk regresi, F1: untuk klasifikasi biner, Akurasi: untuk klasifikasi multiclass. Untuk informasi selengkapnya tentang tujuan, lihat utoMLJobTujuan dalam SageMaker APIReferensi Amazon.
- 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 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 {PADA |} OFF
-
(Opsional) Menentukan apakah Amazon Redshift melakukan pengumpulan sampah pada kumpulan data yang dihasilkan yang digunakan untuk melatih model dan model. Jika disetel keOFF, kumpulan data yang dihasilkan digunakan untuk melatih model dan model tetap berada 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 daftarcolumnSets, 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.
CREATEXGBoostmodel dengan AUTO OFF
Secara umum AUTO OFF CREATE MODEL memiliki tujuan yang berbeda dari default CREATEMODEL.
Sebagai pengguna tingkat lanjut yang sudah mengetahui jenis model yang Anda inginkan dan hyperparameters untuk digunakan saat melatih model ini, Anda dapat menggunakannya CREATE MODEL AUTO OFF untuk mematikan penemuan CREATE MODEL otomatis preprocessors dan hyperparameters. Untuk melakukannya, Anda secara eksplisit menentukan jenis model. XGBoostsaat ini satu-satunya jenis model yang didukung saat AUTO disetel keOFF. Anda dapat menentukan hyperparameters. Amazon Redshift menggunakan nilai default untuk setiap hyperparameter yang Anda tentukan.
CREATEXGBoostmodel dengan AUTO OFF sintaks
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 (, ...) )
CREATEXGBoostmodel dengan AUTO OFF parameter
- AUTO OFF
-
Mematikan penemuan CREATE MODEL otomatis preprocessor, algoritma, dan pemilihan hyper-parameter.
- MODEL_TYPE XGBOOST
-
Menentukan untuk digunakan XGBOOST untuk melatih model.
- OBJECTIVEstr
-
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 EXCEPT (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 untukXGBoost.
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, danPREPROCESSORS.
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 CREATE MODEL sintaks untuk. BYOM Anda dapat menggunakan model yang dilatih di luar Amazon Redshift dengan Amazon SageMaker untuk inferensi dalam database secara lokal di Amazon Redshift.
CREATEMODELsintaks untuk inferensi lokal
Berikut ini menjelaskan CREATE MODEL sintaks 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 PretrainedXGBoost,MLP, dan Linear Learner untuk. BYOM Anda dapat mengimpor SageMaker Autopilot dan model yang dilatih langsung di Amazon SageMaker untuk inferensi lokal menggunakan jalur ini.
CREATEMODELparameter untuk inferensi lokal
- nama_model
-
Nama modul. Nama model dalam skema harus unik.
- FROM('job_name' | 's3_path')
-
Job_name menggunakan nama SageMaker pekerjaan Amazon sebagai masukan. Nama pekerjaan dapat berupa nama pekerjaan SageMaker pelatihan Amazon atau nama pekerjaan Amazon SageMaker Autopilot. Pekerjaan harus dibuat di AWS akun yang sama yang memiliki cluster Amazon Redshift. Untuk menemukan nama pekerjaan, luncurkan Amazon SageMaker. 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.
- FUNCTIONfunction_name (data_type [,...])
-
Nama fungsi yang akan dibuat dan tipe data dari argumen masukan. Anda dapat memberikan nama skema.
- RETURNSdata_type
-
Tipe data dari nilai yang dikembalikan oleh fungsi.
- IAM<account-id><role-name>_ ROLE {default | 'arn:aws:iam: ::role/ '}
-
Gunakan kata kunci default agar Amazon Redshift menggunakan IAM peran yang ditetapkan sebagai default dan terkait dengan cluster saat CREATE MODEL perintah berjalan.
Gunakan Amazon Resource Name (ARN) untuk IAM peran yang digunakan klaster Anda untuk autentikasi dan otorisasi.
- SETTINGS(S3_ BUCKET 'amzn-s3-demo-ember', | _ _ID 'kms_string') KMS KEY
-
BUCKETKlausa S3_ menentukan lokasi Amazon S3 yang digunakan untuk menyimpan hasil antara.
(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 CREATEMODELdengan panduan pengguna.
CREATEMODELuntuk contoh inferensi lokal
Contoh berikut membuat model yang sebelumnya telah dilatih di Amazon SageMaker, di luar Amazon Redshift. Karena tipe model didukung oleh Amazon Redshift MLuntuk inferensi lokal, berikut ini CREATE MODEL membuat fungsi yang dapat digunakan secara lokal di Amazon Redshift. Anda dapat memberikan nama pekerjaan SageMaker pelatihan.
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 CREATE MODEL sintaks untuk. BYOM
CREATEMODELsintaks untuk inferensi jarak jauh
Berikut ini menjelaskan CREATE MODEL sintaks 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)];
CREATEMODELparameter untuk inferensi jarak jauh
- nama_model
-
Nama modul. Nama model dalam skema harus unik.
- FUNCTIONfn_name ([data_type] [,...])
-
Nama fungsi dan tipe data dari argumen input. Lihat Tipe data untuk semua tipe data yang didukung.
Geography
,geometry
, danhllsketch
tidak didukung.Anda juga dapat memberikan nama fungsi di dalam skema menggunakan notasi dua bagian, seperti.
myschema.myfunction
- RETURNSdata_type
-
Tipe data dari nilai yang dikembalikan oleh fungsi. Lihat Tipe data untuk semua tipe data yang didukung.
Geography
,geometry
, danhllsketch
tidak didukung. - SAGEMAKER'endpoint_name' [: 'model_name']
-
Nama SageMaker titik akhir Amazon. 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 dengan cluster Amazon Redshift. Untuk menemukan titik akhir Anda, luncurkan Amazon SageMaker. Di menu tarik-turun Inferensi, pilih Endpoints.
- IAM<account-id><role-name>_ ROLE {default | 'arn:aws:iam: ::role/ '}
-
Gunakan kata kunci default agar Amazon Redshift menggunakan IAM peran yang ditetapkan sebagai default dan terkait dengan cluster saat CREATE MODEL perintah berjalan. Atau, Anda dapat menentukan ARN IAM peran untuk menggunakan peran tersebut.
- MAX_ BATCH _ ROWS bilangan bulat
-
Jumlah maksimum baris yang dikirimkan Amazon Redshift dalam satu permintaan batch untuk satu SageMaker pemanggilan. 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 ketika input dan tipe data yang dikembalikanSUPER
. Nilai defaultnya adalahINT_MAX
, atau 2.147,483.647.
Saat model diterapkan ke SageMaker titik akhir, SageMaker buat informasi model di Amazon Redshift. Kemudian melakukan inferensi melalui fungsi eksternal. Anda dapat menggunakan SHOW MODEL perintah untuk melihat informasi model di cluster Amazon Redshift Anda.
CREATEMODELuntuk 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 SageMaker titik akhir Amazon memiliki sumber daya yang cukup untuk mengakomodasi panggilan inferensi dari Amazon Redshift atau titik akhir SageMaker Amazon 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 tipe konten in.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 yang dipisahkan koma (CSV) melalui tipe konten in.text/CSV
SageMakerVARCHAR
tipe 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 masukan
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 adalahSUPER.
Ketika tipe data input adalah
SUPER
tipe konten dari pemanggilan titik akhir adalahapplication/json
ketika MAX _ BATCH _ ROWS adalah1
atauapplication/jsonlines
dalam semua kasus lainnya.Ketika tipe data yang dikembalikan adalah
SUPER
tipe terima dari pemanggilan titik akhir adalahapplication/json
ketika MAX _ BATCH _ ROWS adalah1
atauapplication/jsonlines
dalam semua kasus lainnya.
CREATEMODELuntuk contoh inferensi jarak jauh
Contoh berikut membuat model yang menggunakan SageMaker titik akhir untuk membuat prediksi. Pastikan titik akhir berjalan untuk membuat prediksi dan tentukan 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 inferensi BYOM dengan jarak jauh dengan model bahasa besar (LLM). LLMsdi-host di Amazon SageMaker 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);
CREATEMODELdengan 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.
CREATEMODELdengan MEANS sintaks 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);
CREATEMODELdengan MEANS parameter K-
- AUTO OFF
-
Mematikan penemuan CREATE MODEL otomatis preprocessor, algoritma, dan pemilihan hyper-parameter.
- MODEL_TYPE KMEANS
-
Menentukan untuk digunakan KMEANS untuk melatih model.
- PREPROCESSORS'string'
-
Menentukan kombinasi tertentu dari preprocessors untuk set tertentu kolom. Formatnya adalah daftarcolumnSets, 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. CREATEMODELdengan 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.
- HYPERPARAMETERSDEFAULTEXCEPT(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
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
CREATEMODELdengan 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)
CREATEMODELdengan 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'] )
CREATEMODELdengan parameter Forecast
- forecast_model_name
-
Nama modul. Nama model harus unik.
- FROM{table_name | (select_query)}
-
Table_name atau query yang menentukan data pelatihan. Ini bisa berupa tabel yang ada di sistem, atau SELECT kueri 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.
- TARGETcolumn_name
-
Nama kolom yang menjadi target prediksi. Kolom harus ada dalam FROM klausa.
- IAM<account-id><role-name>_ ROLE {default | 'arn:aws:iam: ::role/ '}
-
Gunakan kata kunci default agar Amazon Redshift menggunakan IAM peran yang ditetapkan sebagai default dan terkait dengan cluster saat CREAT MODEL perintah berjalan. Atau, Anda dapat menentukan ARN IAM peran untuk menggunakan peran tersebut.
- AUTOPADA
-
Menghidupkan penemuan CREATE MODEL otomatis algoritma dan pemilihan hiper-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 FORECAST
-
Menentukan untuk digunakan 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.
- HORIZONbilangan bulat
-
Jumlah prediksi maksimum yang dapat dikembalikan oleh model perkiraan. Setelah model dilatih, Anda tidak dapat mengubah bilangan bulat ini.
- FREQUENCYforecast_frequency
-
Menentukan seberapa terperinci Anda ingin prakiraan menjadi. Pilihan yang tersedia adalah
Y | M | W | D | H | 30min | 15min | 10min | 5min | 1min
. Diperlukan jika Anda melatih model perkiraan. - PERCENTILEStali
-
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