MulaiMulai sekarang secara gratis

Mengukur akurasi

Sekarang Anda akan berlatih menggunakan API pembelajaran XGBoost melalui kemampuan cross-validation bawaan. Seperti yang dibahas Sergey pada video sebelumnya, XGBoost meraih kinerja dan efisiensi yang diakui dengan memanfaatkan struktur data teroptimasi miliknya untuk himpunan data yang disebut DMatrix.

Pada latihan sebelumnya, himpunan data masukan diubah menjadi data DMatrix secara langsung, tetapi saat Anda menggunakan objek cv dari xgboost, Anda harus terlebih dahulu secara eksplisit mengonversi data Anda menjadi DMatrix. Jadi, itulah yang akan Anda lakukan di sini sebelum menjalankan cross-validation pada churn_data.

Latihan ini adalah bagian dari kursus

Extreme Gradient Boosting dengan XGBoost

Lihat Kursus

Petunjuk latihan

  • Buat DMatrix bernama churn_dmatrix dari churn_data menggunakan xgb.DMatrix(). Fitur tersedia dalam X dan label dalam y.
  • Lakukan cross-validation 3-fold dengan memanggil xgb.cv(). dtrain adalah churn_dmatrix Anda, params adalah kamus parameter Anda, nfold adalah jumlah fold cross-validation (3), num_boost_round adalah jumlah pohon yang ingin kita bangun (5), metrics adalah metrik yang ingin Anda hitung (ini akan berupa "error", yang akan kita konversi menjadi akurasi).

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]

# Create the DMatrix from X and y: churn_dmatrix
churn_dmatrix = ____(data=____, label=____)

# Create the parameter dictionary: params
params = {"objective":"reg:logistic", "max_depth":3}

# Perform cross-validation: cv_results
cv_results = ____(dtrain=____, params=____, 
                  nfold=____, num_boost_round=____, 
                  metrics="____", as_pandas=____, seed=123)

# Print cv_results
print(cv_results)

# Print the accuracy
print(((1-cv_results["test-error-mean"]).iloc[-1]))
Edit dan Jalankan Kode