เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การดึง parameter จาก Random Forest

ในแบบฝึกหัดนี้ จะนำแนวทางที่ใช้กับโมเดล logistic regression มาปรับใช้กับโมเดล random forest parameter หนึ่งของโมเดลนี้คือ วิธีที่ต้นไม้แต่ละต้นตัดสินใจแบ่งข้อมูลในแต่ละระดับ

การวิเคราะห์นี้อาจไม่ละเอียดเท่าการดูค่าสัมประสิทธิ์ของ logistic regression เพราะในทางปฏิบัติแทบไม่มีใครสำรวจทุกการแบ่งในทุกต้นไม้ของโมเดล random forest อย่างไรก็ตาม การมองเข้าไปดูว่าโมเดลทำงานอย่างไรถือเป็นแบบฝึกหัดที่มีประโยชน์มาก

ในแบบฝึกหัดนี้ จะดึงต้นไม้ต้นเดียวออกมาจากโมเดล random forest แสดงผลเป็นภาพ และดึงข้อมูลการแบ่งในระดับหนึ่งออกมาด้วยโค้ด

สิ่งที่มีให้ใช้งาน:

  • โมเดล random forest object ชื่อ rf_clf
  • ภาพแสดงส่วนบนของ decision tree ที่เลือก ชื่อ tree_viz_image
  • DataFrame X_train และ list original_variables

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การปรับ Hyperparameter ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ดึงต้นไม้ต้นที่ 7 (index ที่ 6) ออกจากโมเดล random forest
  • แสดงผลต้นไม้นี้ (tree_viz_image) เพื่อดูการตัดสินใจแบ่งข้อมูล
  • ดึง feature และระดับของการแบ่งที่ระดับบนสุดออกมา
  • แสดงผล feature และระดับนั้นพร้อมกัน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Extract the 7th (index 6) tree from the random forest
chosen_tree = rf_clf.estimators_[____]

# Visualize the graph using the provided image
imgplot = plt.imshow(____)
plt.show()

# Extract the parameters and level of the top (index 0) node
split_column = chosen_tree.tree_.feature[____]
split_column_name = X_train.columns[split_column]
split_value = chosen_tree.tree_.threshold[____]

# Print out the feature and level
print("This node split on feature {}, at a value of {}".format(split_column_name, ____))
แก้ไขและรันโค้ด