การแสดงภาพความสำคัญของ feature: feature ใดสำคัญที่สุดในชุดข้อมูลของเรา
อีกวิธีหนึ่งในการแสดงผลโมเดล XGBoost คือการดูความสำคัญของแต่ละคอลัมน์ feature ในชุดข้อมูลต้นฉบับภายในโมเดล
วิธีที่ง่ายที่สุดคือการนับจำนวนครั้งที่แต่ละ feature ถูกใช้แยกข้อมูล (split) ในทุก boosting round (ต้นไม้) ของโมเดล จากนั้นแสดงผลเป็นกราฟแท่ง โดยเรียงลำดับ feature ตามจำนวนครั้งที่ปรากฏ XGBoost มีฟังก์ชัน plot_importance() ที่ช่วยให้ทำสิ่งนี้ได้ทันที และในแบบฝึกหัดนี้จะได้ลองใช้งานกัน!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Extreme Gradient Boosting with XGBoost
คำแนะนำการฝึกหัด
- สร้าง
DMatrixจากXและyเหมือนเดิม - สร้าง dictionary ของพารามิเตอร์ที่มี
"objective"เป็น"reg:squarederror"และ"max_depth"เป็น4 - เทรนโมเดลด้วย
10boosting round เหมือนกับที่ทำในแบบฝึกหัดก่อนหน้า - ใช้
xgb.plot_importance()โดยส่งโมเดลที่เทรนแล้วเข้าไป เพื่อสร้างกราฟแสดงความสำคัญของ feature
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create the DMatrix: housing_dmatrix
housing_dmatrix = ____
# Create the parameter dictionary: params
params = ____
# Train the model: xg_reg
xg_reg = ____
# Plot the feature importances
____
plt.show()