MulaiMulai sekarang secara gratis

Menyetel max_depth

Pada latihan ini, tugas Anda adalah menyetel max_depth, yaitu parameter yang menentukan kedalaman maksimum setiap pohon dalam satu putaran boosting. Nilai yang lebih kecil menghasilkan pohon yang lebih dangkal, dan nilai yang lebih besar menghasilkan pohon yang lebih dalam.

Latihan ini adalah bagian dari kursus

Extreme Gradient Boosting dengan XGBoost

Lihat Kursus

Petunjuk latihan

  • Buat sebuah list bernama max_depths untuk menyimpan nilai "max_depth" berikut: 2, 5, 10, dan 20.
  • Iterasikan list max_depths Anda menggunakan sebuah for loop.
  • Variasikan "max_depth" secara sistematis pada setiap iterasi for loop dan lakukan validasi silang 2-lipat dengan early stopping (5 putaran), 10 putaran boosting, metrik "rmse", dan seed 123. Pastikan keluarannya berupa DataFrame.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create your housing DMatrix
housing_dmatrix = xgb.DMatrix(data=X,label=y)

# Create the parameter dictionary
params = {"objective":"reg:squarederror"}

# Create list of max_depth values
max_depths = ____
best_rmse = []

# Systematically vary the max_depth
for curr_val in ____:

    params["____"] = ____
    
    # Perform cross-validation
    cv_results = ____
    
    
    
    # Append the final round rmse to best_rmse
    best_rmse.append(cv_results["test-rmse-mean"].tail().values[-1])

# Print the resultant DataFrame
print(pd.DataFrame(list(zip(max_depths, best_rmse)),columns=["max_depth","best_rmse"]))
Edit dan Jalankan Kode