

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

# XGBoost Versi 0.72
<a name="xgboost-72"></a>

**penting**  
 XGBoost 0,72 tidak digunakan lagi oleh Amazon AI. SageMaker Anda masih dapat menggunakan versi lama ini XGBoost (sebagai algoritma bawaan) dengan menarik URI gambarnya seperti yang ditunjukkan pada contoh kode berikut. Untuk XGBoost, URI gambar yang diakhiri dengan `:1` adalah untuk versi lama.  

```
import boto3
from sagemaker.amazon.amazon_estimator import get_image_uri

xgb_image_uri = get_image_uri(boto3.Session().region_name, "xgboost", repo_version="1")
```

```
import boto3
from sagemaker import image_uris

xgb_image_uri = image_uris.retrieve("xgboost", boto3.Session().region_name, "1")
```
Jika Anda ingin menggunakan versi yang lebih baru, Anda harus secara eksplisit menentukan tag URI gambar (lihat). [Versi yang didukung](xgboost.md#xgboost-supported-versions)

Rilis sebelumnya dari XGBoost algoritma Amazon SageMaker AI didasarkan pada rilis 0.72. [XGBoost](https://github.com/dmlc/xgboost)(eXtreme Gradient Boosting) adalah implementasi open-source yang populer dan efisien dari algoritma gradient boosted trees. Peningkatan gradien adalah algoritma pembelajaran yang diawasi yang mencoba memprediksi variabel target secara akurat dengan menggabungkan perkiraan serangkaian model yang lebih sederhana dan lebih lemah. XGBoost telah dilakukan dengan sangat baik dalam kompetisi pembelajaran mesin karena dengan kuat menangani berbagai tipe data, hubungan, dan distribusi, dan karena banyaknya hiperparameter yang dapat diubah dan disetel untuk peningkatan kecocokan. Fleksibilitas ini XGBoost membuat pilihan yang solid untuk masalah dalam regresi, klasifikasi (biner dan multiclass), dan peringkat.

Pelanggan harus mempertimbangkan untuk menggunakan rilis baru[XGBoost algoritma dengan Amazon SageMaker AI](xgboost.md). Mereka dapat menggunakannya sebagai algoritme bawaan SageMaker AI atau sebagai kerangka kerja untuk menjalankan skrip di lingkungan lokal mereka seperti yang biasanya, misalnya, lakukan dengan kerangka pembelajaran mendalam Tensorflow. Implementasi baru memiliki jejak memori yang lebih kecil, logging yang lebih baik, validasi hyperparameter yang ditingkatkan, dan serangkaian metrik yang diperluas. Implementasi sebelumnya XGBoost tetap tersedia untuk pelanggan jika mereka perlu menunda migrasi ke versi baru. Tetapi implementasi sebelumnya ini akan tetap terkait dengan rilis 0.72. XGBoost

## Antarmuka Input/Output untuk Rilis 0.72 XGBoost
<a name="xgboost-72-InputOutput"></a>

Peningkatan gradien beroperasi pada data tabular, dengan baris mewakili pengamatan, satu kolom mewakili variabel target atau label, dan kolom yang tersisa mewakili fitur. 

Implementasi SageMaker AI XGBoost mendukung format CSV dan libsvm untuk pelatihan dan inferensi:
+ *Untuk Pelatihan ContentType, input yang valid adalah *text/libsvm (default) atau text/csv*.*
+ *Untuk Inferensi ContentType, input yang valid adalah *teks/libsvm atau (default) teks/csv*.*

**catatan**  
Untuk pelatihan CSV, algoritme mengasumsikan bahwa variabel target ada di kolom pertama dan CSV tidak memiliki catatan header. Untuk inferensi CSV, algoritme mengasumsikan bahwa input CSV tidak memiliki kolom label.   
Untuk pelatihan libsvm, algoritme mengasumsikan bahwa label ada di kolom pertama. Kolom berikutnya berisi pasangan nilai indeks berbasis nol untuk fitur. Jadi setiap baris memiliki format: <label><index0>: <value0><index1>:<value1>... Permintaan inferensi untuk libsvm mungkin atau mungkin tidak memiliki label dalam format libsvm.

Ini berbeda dari algoritma SageMaker AI lainnya, yang menggunakan format input pelatihan protobuf untuk menjaga konsistensi yang lebih besar dengan format data standar XGBoost .

Untuk mode input pelatihan CSV, total memori yang tersedia untuk algoritme (Hitungan Instance \* memori yang tersedia di`InstanceType`) harus dapat menampung kumpulan data pelatihan. Untuk mode input pelatihan libsvm, itu tidak diperlukan, tetapi kami merekomendasikannya.

SageMaker AI XGBoost menggunakan modul acar Python untuk serialize/deserialize model, yang dapat digunakan untuk saving/loading model.

**Untuk menggunakan model yang dilatih dengan SageMaker AI XGBoost di open source XGBoost**
+ Gunakan kode Python berikut:

  ```
  import pickle as pkl 
  import tarfile
  import xgboost
  
  t = tarfile.open('model.tar.gz', 'r:gz')
  t.extractall()
  
  model = pkl.load(open({{model_file_path}}, 'rb'))
  
  # prediction with test data
  pred = model.predict({{dtest}})
  ```

**Untuk membedakan pentingnya titik data berlabel, gunakan Instance Weight Supports**
+ SageMaker AI XGBoost memungkinkan pelanggan untuk membedakan pentingnya titik data berlabel dengan menetapkan setiap instance nilai bobot. Untuk input *teks/libsvm*, pelanggan dapat menetapkan nilai bobot ke instance data dengan melampirkannya setelah label. Misalnya, `label:weight idx_0:val_0 idx_1:val_1...`. Untuk input *teks/csv*, pelanggan harus menyalakan `csv_weights` bendera di parameter dan melampirkan nilai bobot di kolom setelah label. Misalnya:`label,weight,val_0,val_1,...`).

## Rekomendasi Instans EC2 untuk XGBoost Rilis 0.72
<a name="xgboost-72-Instance"></a>

SageMaker AI XGBoost saat ini hanya menggunakan CPUs kereta. Ini adalah algoritma yang terikat memori (sebagai lawan dari compute-bound). Jadi, instance komputasi tujuan umum (misalnya, M4) adalah pilihan yang lebih baik daripada instance yang dioptimalkan komputasi (misalnya, C4). Selanjutnya, kami menyarankan Anda memiliki memori total yang cukup dalam instance yang dipilih untuk menyimpan data pelatihan. Meskipun mendukung penggunaan ruang disk untuk menangani data yang tidak sesuai dengan memori utama ( out-of-corefitur yang tersedia dengan modus input libsvm), menulis file cache ke disk memperlambat waktu pemrosesan algoritma.

## XGBoost Rilis 0,72 Contoh Notebook
<a name="xgboost-72-sample-notebooks"></a>

Untuk contoh notebook yang menunjukkan cara menggunakan versi terbaru SageMaker AI XGBoost sebagai algoritma bawaan untuk melatih dan menghosting model regresi, lihat [Regresi dengan algoritma Amazon SageMaker ](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/xgboost_abalone/xgboost_abalone.html) AI. XGBoost Untuk menggunakan versi 0,72 XGBoost, Anda perlu mengubah versi dalam kode sampel menjadi 0,72. Untuk petunjuk cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh di SageMaker AI, lihat. [Instans SageMaker notebook Amazon](nbi.md) Setelah Anda membuat instance notebook dan membukanya, pilih tab **Contoh SageMaker AI** untuk melihat daftar semua sampel SageMaker AI. Contoh buku catatan pemodelan topik yang menggunakan XGBoost algoritme terletak di bagian **Pengantar Algoritma Amazon**. Untuk membuka buku catatan, klik tab **Use** dan pilih **Create copy**.

## XGBoost Rilis 0,72 Hyperparameters
<a name="xgboost-72-hyperparameters"></a>

Tabel berikut berisi hyperparameters untuk XGBoost algoritma. Ini adalah parameter yang ditetapkan oleh pengguna untuk memfasilitasi estimasi parameter model dari data. Hyperparameter yang diperlukan yang harus ditetapkan terdaftar terlebih dahulu, dalam urutan abjad. Hyperparameter opsional yang dapat diatur tercantum berikutnya, juga dalam urutan abjad. XGBoost Algoritma SageMaker AI adalah implementasi dari XGBoost paket open-source. Saat ini SageMaker AI mendukung versi 0.72. Untuk detail selengkapnya tentang konfigurasi hyperparameter untuk versi ini XGBoost, lihat [ XGBoostParameter](https://xgboost.readthedocs.io/en/release_0.72/parameter.html).


| Nama Parameter | Deskripsi | 
| --- | --- | 
| num\_class | Jumlah kelas.<br />**Diperlukan** *jika `objective` diatur ke *multi:softmax atau multi:softprob.**<br />Nilai yang valid: integer | 
| num\_round | Jumlah putaran untuk menjalankan pelatihan.<br />**Diperlukan**<br />Nilai yang valid: integer | 
| alpha | Istilah regularisasi L1 pada bobot. Meningkatkan nilai ini membuat model lebih konservatif.<br />**Opsional**<br />Nilai yang valid: float<br />Nilai default: 0 | 
| base\_score | Skor prediksi awal dari semua contoh, bias global.<br />**Opsional**<br />Nilai yang valid: float<br />Nilai default: 0,5 | 
| booster | Booster mana yang akan digunakan. `dart`Nilai `gbtree` dan menggunakan model berbasis pohon, sementara `gblinear` menggunakan fungsi linier.<br />**Opsional**<br />Nilai yang valid: String. Salah satu`gbtree`,`gblinear`, atau`dart`.<br />Nilai default: `gbtree` | 
| colsample\_bylevel | Rasio subsampel kolom untuk setiap split, di setiap level.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0,1].<br />Nilai default: 1 | 
| colsample\_bytree | Rasio subsampel kolom saat membangun setiap pohon.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0,1].<br />Nilai default: 1 | 
| csv\_weights | Saat flag ini diaktifkan, XGBoost bedakan pentingnya instance untuk input csv dengan mengambil kolom kedua (kolom setelah label) dalam data pelatihan sebagai bobot instance.<br />**Opsional**<br />Nilai yang valid: 0 atau 1<br />Nilai default: 0 | 
| early\_stopping\_rounds | Model berlatih sampai skor validasi berhenti membaik. Kesalahan validasi perlu dikurangi setidaknya setiap `early_stopping_rounds` untuk melanjutkan pelatihan. SageMaker Hosting AI menggunakan model terbaik untuk inferensi.<br />**Opsional**<br />Nilai yang valid: integer<br />Nilai default: - | 
| eta | Penyusutan ukuran langkah yang digunakan dalam pembaruan untuk mencegah overfitting. Setelah setiap langkah peningkatan, Anda bisa langsung mendapatkan bobot fitur baru. `eta`Parameter sebenarnya mengecilkan bobot fitur untuk membuat proses peningkatan lebih konservatif.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0,1].<br />Nilai default: 0,3 | 
| eval\_metric | Metrik evaluasi untuk data validasi. Metrik default ditetapkan sesuai dengan tujuan:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/xgboost-72.html)<br />Untuk daftar input yang valid, lihat [XGBoost Parameter](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst#learning-task-parameters).<br />**Opsional**<br />Nilai yang valid: string<br />Nilai default: Default sesuai dengan tujuan. | 
| gamma | Pengurangan kerugian minimum diperlukan untuk membuat partisi lebih lanjut pada simpul daun pohon. Semakin besar, semakin konservatif algoritmanya.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0, ∞).<br />Nilai default: 0 | 
| grow\_policy | Mengontrol cara node baru ditambahkan ke pohon. Saat ini didukung hanya jika `tree_method` disetel ke`hist`.<br />**Opsional**<br />Nilai yang valid: String. Baik `depthwise` atau `lossguide`.<br />Nilai default: `depthwise` | 
| lambda | Istilah regularisasi L2 pada bobot. Meningkatkan nilai ini membuat model lebih konservatif.<br />**Opsional**<br />Nilai yang valid: float<br />Nilai default: 1 | 
| lambda\_bias | Istilah regularisasi L2 pada bias.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0.0, 1.0].<br />Nilai default: 0 | 
| max\_bin | Jumlah maksimum tempat sampah diskrit ke fitur kontinu ember. Digunakan hanya jika `tree_method` diatur ke`hist`. <br />**Opsional**<br />Nilai yang valid: integer<br />Nilai default: 256 | 
| max\_delta\_step | Langkah delta maksimum diperbolehkan untuk estimasi berat setiap pohon. Ketika bilangan bulat positif digunakan, ini membantu membuat pembaruan lebih konservatif. Pilihan yang lebih disukai adalah menggunakannya dalam regresi logistik. Setel ke 1-10 untuk membantu mengontrol pembaruan. <br />**Opsional**<br />Nilai yang valid: Integer. Rentang: [0, ∞).<br />Nilai default: 0 | 
| max\_depth | Kedalaman maksimum pohon. Meningkatkan nilai ini membuat model lebih kompleks dan cenderung overfit. 0 menunjukkan tidak ada batas. Batas diperlukan ketika `grow_policy` =`depth-wise`.<br />**Opsional**<br />Nilai yang valid: Integer. Rentang: [0, ∞)<br />Nilai default: 6 | 
| max\_leaves | Jumlah maksimum node yang akan ditambahkan. Relevan hanya jika `grow_policy` disetel ke`lossguide`.<br />**Opsional**<br />Nilai yang valid: integer<br />Nilai default: 0 | 
| min\_child\_weight | Jumlah minimum berat badan contoh (hessian) yang dibutuhkan pada anak. Jika langkah partisi pohon menghasilkan simpul daun dengan jumlah bobot instance kurang dari`min_child_weight`, proses pembangunan melepaskan partisi lebih lanjut. Dalam model regresi linier, ini hanya sesuai dengan jumlah minimum instance yang diperlukan di setiap node. Semakin besar algoritme, semakin konservatif itu.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0, ∞).<br />Nilai default: 1 | 
| normalize\_type | Jenis algoritma normalisasi.<br />**Opsional**<br />Nilai yang valid: Baik *pohon* atau *hutan*.<br />Nilai default: *pohon* | 
| nthread | Jumlah thread paralel yang digunakan untuk menjalankan *xgboost*.<br />**Opsional**<br />Nilai yang valid: integer<br />Nilai default: Jumlah utas maksimum. | 
| objective | Menentukan tugas pembelajaran dan tujuan pembelajaran yang sesuai. Contoh:`reg:logistic`,`reg:softmax`,`multi:squarederror`. Untuk daftar lengkap input yang valid, lihat [XGBoost Parameter](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst#learning-task-parameters).<br />**Opsional**<br />Nilai yang valid: string<br />Nilai default: `reg:squarederror` | 
| one\_drop | Saat flag ini diaktifkan, setidaknya satu pohon selalu dijatuhkan selama putus sekolah.<br />**Opsional**<br />Nilai yang valid: 0 atau 1<br />Nilai default: 0 | 
| process\_type | Jenis proses boosting untuk dijalankan.<br />**Opsional**<br />Nilai yang valid: String. Baik `default` atau `update`.<br />Nilai default: `default` | 
| rate\_drop | Tingkat putus sekolah yang menentukan fraksi pohon sebelumnya yang akan jatuh selama putus sekolah.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0.0, 1.0].<br />Nilai default: 0.0 | 
| refresh\_leaf | Ini adalah parameter dari plug-in updater 'refresh'. Ketika diatur ke `true` (1), daun pohon dan statistik simpul pohon diperbarui. Saat disetel ke `false` (0), hanya statistik simpul pohon yang diperbarui.<br />**Opsional**<br />Nilai yang valid: 0/1<br />Nilai default: 1 | 
| sample\_type | Jenis algoritma sampling.<br />**Opsional**<br />Nilai yang valid: Entah `uniform` atau`weighted`.<br />Nilai default: `uniform` | 
| scale\_pos\_weight | Mengontrol keseimbangan bobot positif dan negatif. Ini berguna untuk kelas yang tidak seimbang. Nilai khas untuk dipertimbangkan:`sum(negative cases)`/`sum(positive cases)`.<br />**Opsional**<br />Nilai yang valid: float<br />Nilai default: 1 | 
| seed | Benih nomor acak.<br />**Opsional**<br />Nilai yang valid: integer<br />Nilai default: 0 | 
| silent | 0 berarti mencetak pesan yang sedang berjalan, 1 berarti mode diam.<br />Nilai yang valid: 0 atau 1<br />**Opsional**<br />Nilai default: 0 | 
| sketch\_eps | Digunakan hanya untuk perkiraan algoritma serakah. Ini diterjemahkan menjadi O (1/`sketch_eps`) jumlah tempat sampah. Dibandingkan dengan jumlah tempat sampah yang dipilih secara langsung, ini dilengkapi dengan jaminan teoritis dengan akurasi sketsa.<br />**Opsional**<br />Nilai yang valid: Float, Range: [0, 1].<br />Nilai default: 0,03 | 
| skip\_drop | Probabilitas melewatkan prosedur putus sekolah selama iterasi peningkatan.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0.0, 1.0].<br />Nilai default: 0.0 | 
| subsample | Rasio subsampel dari contoh pelatihan. Mengaturnya ke 0,5 berarti XGBoost secara acak mengumpulkan setengah dari instance data untuk menumbuhkan pohon. Ini mencegah overfitting.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: [0,1].<br />Nilai default: 1 | 
| tree\_method | Algoritma konstruksi pohon yang digunakan dalam XGBoost.<br />**Opsional**<br />Nilai yang valid: Salah satu`auto`,`exact`,`approx`, atau`hist`.<br />Nilai default: `auto` | 
| tweedie\_variance\_power | Parameter yang mengontrol varians distribusi Tweedie.<br />**Opsional**<br />Nilai yang valid: Float. Rentang: (1, 2).<br />Nilai default: 1.5 | 
| updater | String yang dipisahkan koma yang mendefinisikan urutan pembaru pohon untuk dijalankan. Ini menyediakan cara modular untuk membangun dan memodifikasi pohon.<br />Untuk daftar lengkap input yang valid, silakan lihat [XGBoost Parameter](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst).<br />**Opsional**<br />Nilai yang valid: string dipisahkan koma.<br />Nilai default:`grow_colmaker`, pangkas | 

## Menyetel Model XGBoost Rilis 0.72
<a name="xgboost-72-tuning"></a>

*Penyetelan model otomatis*, juga dikenal sebagai tuning hyperparameter, menemukan versi terbaik dari model dengan menjalankan banyak pekerjaan yang menguji berbagai hiperparameter pada kumpulan data pelatihan dan validasi Anda. Anda memilih tiga jenis hyperparameters:
+ `objective`fungsi pembelajaran untuk mengoptimalkan selama pelatihan model
+ an `eval_metric` untuk digunakan untuk mengevaluasi kinerja model selama validasi
+ satu set hyperparameters dan rentang nilai untuk masing-masing untuk digunakan saat menyetel model secara otomatis

Anda memilih metrik evaluasi dari kumpulan metrik evaluasi yang dihitung oleh algoritme. Penyetelan model otomatis mencari hiperparameter yang dipilih untuk menemukan kombinasi nilai yang menghasilkan model yang mengoptimalkan metrik evaluasi. 

Untuk informasi selengkapnya tentang penyetelan model, lihat[Penyetelan model otomatis dengan AI SageMaker](automatic-model-tuning.md).

### Metrik Dihitung oleh Algoritma XGBoost Rilis 0.72
<a name="xgboost-72-metrics"></a>

 XGBoost Algoritma berdasarkan versi 0.72 menghitung sembilan metrik berikut untuk digunakan untuk validasi model. Saat menyetel model, pilih salah satu metrik ini untuk mengevaluasi model. Untuk daftar lengkap `eval_metric` nilai yang valid, lihat [Parameter Tugas XGBoost Pembelajaran](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst#learning-task-parameters)


| Nama Metrik | Deskripsi | Arah Optimasi | 
| --- | --- | --- | 
| validation:auc | Area di bawah kurva. | Maksimalkan | 
| validation:error | Tingkat kesalahan klasifikasi biner, dihitung sebagai \# (kasus salah) /\# (semua kasus). | Minimalkan | 
| validation:logloss | Kemungkinan log negatif. | Minimalkan | 
| validation:mae | Berarti kesalahan absolut. | Minimalkan | 
| validation:map | Rata-rata presisi rata-rata. | Maksimalkan | 
| validation:merror | Tingkat kesalahan klasifikasi multiclass, dihitung sebagai \# (kasus salah) /\# (semua kasus). | Minimalkan | 
| validation:mlogloss | Kemungkinan log negatif untuk klasifikasi multiclass. | Minimalkan | 
| validation:ndcg | Keuntungan kumulatif diskon yang dinormalisasi. | Maksimalkan | 
| validation:rmse | Root berarti kesalahan kuadrat. | Minimalkan | 

### XGBoost Rilis yang Dapat Disetel 0,72 Hyperparameters
<a name="xgboost-72-tunable-hyperparameters"></a>

Setel XGBoost model dengan hyperparameters berikut. Hiperparameter yang memiliki efek terbesar dalam mengoptimalkan metrik XGBoost evaluasi adalah:`alpha`,,, `min_child_weight``subsample`, `eta` dan. `num_round` 


| Nama Parameter | Jenis Parameter | Rentang yang Direkomendasikan | 
| --- | --- | --- | 
| alpha | ContinuousParameterRanges | MinValue: 0, MaxValue: 1000 | 
| colsample\_bylevel | ContinuousParameterRanges | MinValue: 0,1, MaxValue: 1 | 
| colsample\_bytree | ContinuousParameterRanges | MinValue: 0,5, MaxValue: 1 | 
| eta | ContinuousParameterRanges | MinValue: 0,1, MaxValue: 0,5 | 
| gamma | ContinuousParameterRanges | MinValue: 0, MaxValue: 5 | 
| lambda | ContinuousParameterRanges | MinValue: 0, MaxValue: 1000 | 
| max\_delta\_step | IntegerParameterRanges | [0, 10] | 
| max\_depth | IntegerParameterRanges | [0, 10] | 
| min\_child\_weight | ContinuousParameterRanges | MinValue: 0, MaxValue: 120 | 
| num\_round | IntegerParameterRanges | [1, 4000] | 
| subsample | ContinuousParameterRanges | MinValue: 0,5, MaxValue: 1 | 