การเรียงลำดับฟีเจอร์ที่สำคัญ
Decision Tree ได้รับความนิยมด้วยเหตุผลหลายประการ หนึ่งในนั้นคือความสามารถในการตีความผลลัพธ์ได้ง่าย โมเดลหลายตัวสามารถพยากรณ์ได้อย่างแม่นยำ แต่ Decision Tree ยังสามารถวัดค่าผลกระทบของแต่ละฟีเจอร์ที่มีต่อตัวแปรเป้าหมายได้ด้วย ในกรณีนี้ โมเดลจะบอกได้ว่าฟีเจอร์ใดมีอิทธิพลต่อการตัดสินใจลาออกจากบริษัทมากหรือน้อยที่สุด ใน sklearn สามารถดึงข้อมูลนี้ได้โดยใช้ attribute feature_importances_
ในแบบฝึกหัดนี้ จะได้คำนวณค่าความสำคัญของแต่ละฟีเจอร์ บันทึกผลลัพธ์ลงใน pandas DataFrame (ตารางแบบ Pythonic) และเรียงลำดับจากฟีเจอร์ที่สำคัญที่สุดไปยังน้อยที่สุด Decision Tree Classifier model_best ที่ใช้ในแบบฝึกหัดก่อนหน้ายังคงอยู่ใน workspace พร้อมกับตัวแปร features_test และ features_train
pandas ถูก import ไว้แล้วในชื่อ pd
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
HR Analytics: การพยากรณ์การลาออกของพนักงานด้วย Python
คำแนะนำการฝึกหัด
- ใช้ attribute
feature_importances_เพื่อคำนวณค่าความสำคัญสัมพัทธ์ของแต่ละฟีเจอร์ - สร้างรายการฟีเจอร์
- บันทึกผลลัพธ์ลงใน DataFrame โดยใช้ฟังก์ชัน
DataFrame()โดยให้ฟีเจอร์แต่ละตัวเป็นแถว และค่าความสำคัญเป็นคอลัมน์ - เรียงลำดับ DataFrame
relative_importancesเพื่อให้ฟีเจอร์ที่สำคัญที่สุดอยู่บนสุด โดยใช้ฟังก์ชันsort_values()แล้วแสดงผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Calculate feature importances
feature_importances = model_best.____
# Create a list of features: done
feature_list = list(features)
# Save the results inside a DataFrame using feature_list as an index
relative_importances = pd.____(index=____, data=feature_importances, columns=["importance"])
# Sort values to learn most important features
relative_importances.____(by="importance", ascending=False)