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

GridSearchCV กับ Scikit Learn

โมดูล GridSearchCV จาก Scikit Learn มีฟีเจอร์ที่เป็นประโยชน์มากมายสำหรับการทำ grid search อย่างมีประสิทธิภาพ ตอนนี้ลองนำความรู้ไปใช้จริงด้วยการสร้างออบเจกต์ GridSearchCV ที่มีพารามิเตอร์ตามที่กำหนด

เงื่อนไขที่ต้องการมีดังนี้:

  • ใช้ Random Forest Estimator โดยกำหนด split criterion เป็น 'entropy'
  • ใช้ cross validation แบบ 5-fold
  • ไฮเปอร์พารามิเตอร์ที่ต้องการคือ max_depth (2, 4, 8, 15) และ max_features ('auto' กับ 'sqrt')
  • ใช้ roc_auc สำหรับการให้คะแนนโมเดล
  • ใช้ 4 core สำหรับการประมวลผลแบบขนาน
  • ตรวจสอบให้แน่ใจว่ามีการ refit โมเดลที่ดีที่สุด และส่งคืนคะแนนชุดข้อมูล training

ชุดข้อมูลที่ใช้ได้มี X_train, X_test, y_train และ y_test

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

การปรับ Hyperparameter ใน Python

ดูคอร์ส

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

  • สร้าง Random Forest estimator ตามเงื่อนไขที่ระบุไว้ข้างต้น
  • สร้าง parameter grid ตามเงื่อนไขที่ระบุไว้ข้างต้น
  • สร้างออบเจกต์ GridSearchCV ตามเงื่อนไขข้างต้น โดยใช้องค์ประกอบทั้งสองที่สร้างไว้ในสองขั้นตอนก่อนหน้า

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

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

# Create a Random Forest Classifier with specified criterion
rf_class = RandomForestClassifier(____=____)

# Create the parameter grid
param_grid = {____: ____, ____: ____} 

# Create a GridSearchCV object
grid_rf_class = GridSearchCV(
    estimator=____,
    param_grid=____,
    scoring=____,
    n_jobs=____,
    cv=____,
    refit=____, return_train_score=____)
print(grid_rf_class)
แก้ไขและรันโค้ด