Memvisualisasikan pohon XGBoost secara individual
Sekarang setelah Anda menggunakan XGBoost untuk membangun dan mengevaluasi model regresi maupun klasifikasi, saatnya memahami cara menjelajahi model Anda secara visual. Di sini, Anda akan memvisualisasikan pohon-pohon individual dari model boosted penuh yang dibuat XGBoost menggunakan seluruh himpunan data perumahan.
XGBoost memiliki fungsi plot_tree() yang memudahkan visualisasi seperti ini. Setelah Anda melatih model menggunakan XGBoost learning API, Anda dapat memberikannya ke fungsi plot_tree() bersama dengan jumlah pohon yang ingin Anda plot menggunakan argumen num_trees.
Latihan ini adalah bagian dari kursus
Extreme Gradient Boosting dengan XGBoost
Petunjuk latihan
- Buat kamus parameter dengan
"objective"bernilai"reg:squarederror"dan"max_depth"bernilai2. - Latih model menggunakan
10putaran boosting dan kamus parameter yang Anda buat. Simpan hasilnya dalamxg_reg. - Plot pohon pertama menggunakan
xgb.plot_tree(). Fungsi ini menerima dua argumen — model (dalam hal ini,xg_reg) dannum_trees, yang menggunakan indeks mulai dari 0. Jadi untuk memplot pohon pertama, tentukannum_trees=0. - Plot pohon kelima.
- Plot pohon terakhir (kesepuluh) secara horizontal. Untuk melakukannya, tambahkan argumen kata kunci
rankdir="LR".
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create the DMatrix: housing_dmatrix
housing_dmatrix = xgb.DMatrix(data=X, label=y)
# Create the parameter dictionary: params
params = {"objective":"reg:squarederror", "max_depth":2}
# Train the model: xg_reg
xg_reg = xgb.train(params=params, dtrain=housing_dmatrix, num_boost_round=10)
# Plot the first tree
____
plt.show()
# Plot the fifth tree
____
plt.show()
# Plot the last tree sideways
____
plt.show()