Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
BUAT MODEL
Topik
Prasyarat
Sebelum Anda menggunakan pernyataan CREATE MODEL, lengkapi prasyarat di. Penyiapan klaster untuk menggunakan Amazon Redshift ML Berikut ini adalah ringkasan prasyarat tingkat tinggi.
Buat klaster Amazon Redshift dengan AWS Management Console atau AWS Command Line Interface (CLI AWS ).
Lampirkan kebijakan AWS Identity and Access Management (IAM) saat membuat cluster.
Untuk memungkinkan Amazon Redshift dan SageMaker AI untuk mengambil peran untuk berinteraksi dengan layanan lain, tambahkan kebijakan kepercayaan yang sesuai ke peran IAM.
Untuk detail tentang peran IAM, kebijakan kepercayaan, dan prasyarat lainnya, lihat. Penyiapan klaster untuk menggunakan Amazon Redshift ML
Berikut ini, Anda dapat menemukan kasus penggunaan yang berbeda untuk pernyataan CREATE MODEL.
Hak istimewa yang diperlukan
Berikut ini adalah hak istimewa yang diperlukan untuk CREATE MODEL:
Superuser
Pengguna dengan hak istimewa CREATE MODEL
Peran dengan hak istimewa GRANT CREATE MODEL
Pengendalian biaya
Amazon Redshift MLmenggunakan sumber daya kluster yang ada untuk membuat model prediksi, sehingga Anda tidak perlu membayar biaya tambahan. Namun, Anda mungkin memiliki biaya tambahan jika Anda perlu mengubah ukuran cluster Anda atau ingin melatih model Anda. Amazon Redshift MLmenggunakan Amazon SageMaker AI untuk melatih model, yang memang memiliki biaya terkait tambahan. Ada beberapa cara untuk mengontrol biaya tambahan, seperti membatasi jumlah waktu maksimum yang dapat diambil pelatihan atau dengan membatasi jumlah contoh pelatihan yang digunakan untuk melatih model Anda. Untuk informasi selengkapnya, lihat Biaya untuk menggunakan Amazon Redshift Ml.
MODEL CREATE penuh
Berikut ini merangkum opsi dasar dari sintaks CREATE MODEL lengkap.
Sintaks CREATE MODEL penuh
Berikut ini adalah sintaks lengkap dari pernyataan CREATE MODEL.
penting
Saat membuat model menggunakan pernyataan CREATE MODEL, ikuti urutan kata kunci dalam sintaks berikut.
CREATE MODEL model_name FROM { table_name | ( select_statement ) | 'job_name' } [ TARGET column_name ] FUNCTION function_name [ ( data_type [, ...] ) ] [ RETURNS data_type ] -- supported only for BYOM [ SAGEMAKER 'endpoint_name'[:'model_name']] -- supported only for BYOM remote inference IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' } [ AUTO ON / OFF ] -- default is AUTO ON [ MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER | KMEANS | FORECAST } ] -- not required for non AUTO OFF case, default is the list of all supported types -- required for AUTO OFF [ PROBLEM_TYPE ( REGRESSION | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION ) ] -- not supported when AUTO OFF [ OBJECTIVE ( 'MSE' | 'Accuracy' | 'F1' | 'F1_Macro' | 'AUC' | 'reg:squarederror' | 'reg:squaredlogerror'| 'reg:logistic'| 'reg:pseudohubererror' | 'reg:tweedie' | 'binary:logistic' | 'binary:hinge', 'multi:softmax' | 'RMSE' | 'WAPE' | 'MAPE' | 'MASE' | 'AverageWeightedQuantileLoss' ) ] -- for AUTO ON: first 5 are valid -- for AUTO OFF: 6-13 are valid -- for FORECAST: 14-18 are valid [ PREPROCESSORS 'string' ] -- required for AUTO OFF, when it has to be 'none' -- optional for AUTO ON [ HYPERPARAMETERS { DEFAULT | DEFAULT EXCEPT ( Key 'value' (,...) ) } ] -- support XGBoost hyperparameters, except OBJECTIVE -- required and only allowed for AUTO OFF -- default NUM_ROUND is 100 -- NUM_CLASS is required if objective is multi:softmax (only possible for AUTO OFF) [ SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket', | -- required TAGS 'string', | -- optional KMS_KEY_ID 'kms_string', | -- optional S3_GARBAGE_COLLECT on / off, | -- optional, defualt is on. MAX_CELLS integer, | -- optional, default is 1,000,000 MAX_RUNTIME integer (, ...) | -- optional, default is 5400 (1.5 hours) HORIZON integer, | -- required if creating a forecast model FREQUENCY integer, | -- required if creating a forecast model PERCENTILES string, | -- optional if creating a forecast model MAX_BATCH_ROWS integer -- optional for BYOM remote inference ) ]
Parameter
- nama_model
-
Nama modul. Nama model dalam skema harus unik.
- DARI {table_name | (select_query) | 'job_name'}
-
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 function_name (data_type [,...])
-
Nama fungsi yang akan dibuat dan tipe data dari argumen masukan. Anda dapat memberikan nama skema skema dalam database Anda, bukan nama fungsi.
- RETURNS data_type
-
Tipe data yang akan dikembalikan dari fungsi model. Tipe
SUPER
data yang dikembalikan hanya berlaku untuk BYOM dengan inferensi jarak jauh. - 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 Wilayah AWS sama dengan cluster Amazon Redshift.
- <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.
- [OTOMATIS MENYALA/MATI]
-
Mengaktifkan atau menonaktifkan CREATE MODEL penemuan otomatis preprocessor, algoritma, dan pemilihan hyper-parameter. Menentukan saat membuat model Forecast menunjukkan penggunaan AutoPredictor, di mana Amazon Forecast menerapkan kombinasi algoritma yang optimal untuk setiap deret waktu dalam kumpulan data Anda.
- MODEL_TYPE {XGBOOST | MLP | LINEAR_LEARNER | KMEANS | PRAKIRAAN}
-
(Opsional) Menentukan jenis model. Anda dapat menentukan apakah Anda ingin melatih model jenis model tertentu, seperti, multilayer perceptron (MLP) XGBoost, KMEANS, 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. Anda juga dapat membuat model perkiraan di Redshift MLuntuk membuat perkiraan deret waktu yang akurat.
- 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' | 'reg:squarederror' | 'reg:squaredlogerror' | 'reg:logistic' | 'reg:pseudohubererror' | 'reg:tweedie' | 'binary:logistic' | 'binary:hinge' | 'multi:soft' max' | 'RMSE' | 'WAPE' | 'PETA' | 'MASE' | '') AverageWeightedQuantileLoss
-
(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 MLJobObjektif Otomatis di parameter tugas Referensi dan Pembelajaran
Amazon SageMaker AI API dalam dokumentasi XGBOOST. Nilai RMSE, WAPE, MAPE, MASE, dan hanya berlaku untuk model AverageWeightedQuantileLoss Forecast. Untuk informasi selengkapnya, lihat operasi API CreateAutoPredictor. - 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' )
- 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] - PENGATURAN (S3_BUCKET 'amzn-s3-demo-bucket', | TAG 'string', | KMS_KEY_ID 'kms_string', | S3_GARBAGE_COLLECT aktif/mati, | MAX_CELLS integer, | MAX_RUNTIME (,...), | bilangan bulat HORIZON, | FREQUENCY forecast_frequency, | Persentil array string)
-
Klausa S3_BUCKET menentukan lokasi Amazon S3 yang digunakan untuk menyimpan hasil perantara.
(Opsional) Parameter TAGS adalah daftar pasangan nilai kunci yang dipisahkan koma yang dapat Anda gunakan untuk menandai sumber daya yang dibuat di Amazon SageMaker AI; dan Amazon Forecast. Tag membantu Anda mengatur sumber daya dan mengalokasikan biaya. Nilai dalam pasangan adalah opsional, sehingga Anda dapat membuat tag dengan menggunakan format
key=value
atau hanya dengan membuat kunci. Untuk informasi selengkapnya tentang tag di Amazon Redshift, lihat Ringkasan penandaan.(Opsional) 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).
(Opsional) S3_GARBAGE_COLLECT {ON | OFF} 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.
(Opsional) MAX_CELLS 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.
(Opsional) MAX_RUNTIME menentukan jumlah maksimum waktu untuk melatih. 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).
HORIZON menentukan jumlah maksimum prediksi model perkiraan dapat kembali. Setelah model dilatih, Anda tidak dapat mengubah bilangan bulat ini. Parameter ini diperlukan jika melatih model perkiraan.
FREKUENSI menentukan seberapa terperinci dalam satuan waktu yang Anda inginkan prakiraannya. Pilihan yang tersedia adalah
Y | M | W | D | H | 30min | 15min | 10min | 5min | 1min
. Parameter ini diperlukan jika melatih model perkiraan.(Opsional) PERCENTILES adalah 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 penambahan 0,01 atau lebih tinggi. Anda juga dapat menentukan perkiraan rata-rata dengan mean. Anda dapat menentukan maksimal lima jenis perkiraan.
- MAX_BATCH_ROWS bilangan bulat
-
(Opsional) 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. 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 dikembalikan adalah SUPER. Nilai defaultnya adalahINT_MAX
, atau 2.147,483.647.