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

Grid search

การปรับไฮเปอร์พารามิเตอร์สามารถทำได้ผ่าน sklearn โดยระบุค่าพารามิเตอร์ต่าง ๆ ซึ่งสามารถกำหนดได้โดยใช้ฟังก์ชันจาก numpy วิธีหนึ่งที่นิยมใช้คือ grid search ซึ่งจะค้นหาทุกชุดผสมของไฮเปอร์พารามิเตอร์ที่ระบุผ่าน param_grid อย่างละเอียดถี่ถ้วน ในแบบฝึกหัดนี้ จะใช้ grid search เพื่อหาค่าไฮเปอร์พารามิเตอร์ที่เหมาะสมที่สุดสำหรับ random forest classifier โดยใช้ AUC ของ ROC curve เป็นฟังก์ชัน scoring

X_train, y_train, X_test, y_test พร้อมใช้งานใน workspace แล้ว รวมถึง pandas ในชื่อ pd, numpy ในชื่อ np, และ sklearn นอกจากนี้ GridSearchCV() จาก sklearn.model_selection ก็พร้อมใช้งานเช่นกัน

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

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

ดูคอร์ส

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

  • สร้างรายการค่าสำหรับไฮเปอร์พารามิเตอร์แต่ละตัวได้แก่ n_estimators และ max_depth
  • สร้าง random forest classifier
  • ตั้งค่า grid search เพื่อวนซ้ำทุกชุดผสมของไฮเปอร์พารามิเตอร์
  • แสดงค่า AUC ที่ดีที่สุดโดยใช้ .best_score_ และ estimator ที่ให้ผลดีที่สุดโดยใช้ .best_estimator_

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

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

# Create list of hyperparameters 
n_estimators = [10, 50]
max_depth = [5, 20]
param_grid = {'n_estimators': ____, 'max_depth': ____}

# Use Grid search CV to find best parameters 
print("starting RF grid search.. ")
rf = ____()
clf = ____(estimator = rf, param_grid = ____, scoring = 'roc_auc')
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)
แก้ไขและรันโค้ด