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

Random forests

Random Forest เป็น ensemble method ที่ทรงพลังและเป็นที่นิยม โดยใช้ decision tree หลายต้นร่วมกันผ่านวิธี bootstrap aggregation (หรือเรียกสั้น ๆ ว่า bagging) hyperparameter หลักของโมเดลประเภทนี้มีสองตัว ได้แก่ จำนวนต้นไม้ และความลึกสูงสุดของแต่ละต้น ในแบบฝึกหัดนี้ จะได้สร้างและประเมิน random forest classifier อย่างง่ายโดยกำหนดค่า hyperparameter ไว้ล่วงหน้า

X_train, y_train, X_test, y_test พร้อมใช้งานใน workspace แล้ว รวมถึง pandas as pd, numpy as np และ sklearn นอกจากนี้ยังมี RandomForestClassifier() จาก sklearn.ensemble พร้อมด้วย roc_curve() และ auc() จาก sklearn.metrics

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

การพยากรณ์ CTR ด้วย Machine Learning ใน Python

ดูคอร์ส

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

  • สร้าง random forest classifier โดยกำหนดจำนวนต้นไม้เป็น 50 ต้น และความลึกสูงสุดเป็น 5
  • ฝึกโมเดล จากนั้นดึงคะแนนความน่าจะเป็นผ่าน .predict_proba() และดึงผลการทำนายผ่าน .predict() สำหรับข้อมูล testing
  • ประเมินค่า AUC ของ ROC curve โดยใช้ roc_curve() เพื่อคำนวณ fpr และ tpr ก่อน แล้วจึงใช้ auc() กับผลลัพธ์ที่ได้
  • ประเมินค่า precision และ recall ของโมเดล

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

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

# Create random forest classifier with specified params
clf = ____(____ = 50, ____ = 5)

# Train classifier - predict probability score and label
y_score = clf.____(X_train, y_train).____(X_test) 
y_pred = clf.____(X_train, y_train).____(X_test) 

# Get ROC curve metrics
fpr, tpr, thresholds = ____(y_test, y_score[:, 1])
print("ROC of AUC: %s"%(____(fpr, tpr)))

# Get precision and recall
precision = ____(y_test, y_pred, average = 'weighted')
recall = ____(y_test, y_pred, average = 'weighted')
print("Precision: %s, Recall: %s" %(precision, recall))
แก้ไขและรันโค้ด