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

ออบเจกต์ RandomizedSearchCV

เช่นเดียวกับไลบรารี GridSearchCV ใน Scikit Learn RandomizedSearchCV มีฟีเจอร์ที่มีประโยชน์มากมายสำหรับการทำ Random Search อย่างมีประสิทธิภาพ ในแบบฝึกหัดนี้จะสร้างออบเจกต์ RandomizedSearchCV โดยปรับเปลี่ยนเพียงเล็กน้อยจาก GridSearchCV

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

  • Estimator เป็น Gradient Boosting Classifier แบบค่าเริ่มต้น
  • Cross validation แบบ 5-fold
  • ใช้ accuracy ในการให้คะแนนโมเดล
  • ใช้ 4 cores สำหรับการประมวลผลแบบขนาน
  • ให้ refit โมเดลที่ดีที่สุดและส่งคืนคะแนน training
  • สุ่มตัวอย่างโมเดลจำนวน 10 โมเดล

กริด hyperparameter ควรครอบคลุม learning_rate (150 ค่าระหว่าง 0.1 ถึง 2) และ min_samples_leaf (ทุกค่าตั้งแต่ 20 ถึง 64 รวมค่าปลายทั้งสอง)

ชุดข้อมูล X_train และ y_train พร้อมใช้งานแล้ว

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

การปรับ Hyperparameter ใน Python

ดูคอร์ส

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

  • สร้าง parameter grid ตามที่กำหนดไว้ในโจทย์ข้างต้น
  • สร้างออบเจกต์ RandomizedSearchCV ตามที่ระบุไว้ในโจทย์ข้างต้น
  • Fit ออบเจกต์ RandomizedSearchCV กับข้อมูล training
  • แสดงค่าที่กระบวนการสร้างโมเดลเลือกสำหรับแต่ละ hyperparameter

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

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

# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))} 

# Create a random search object
random_GBM_class = ____(
    estimator = ____,
    ____ = param_grid,
    ____ = 10,
    scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)

# Fit to the training data
random_GBM_class.fit(____, ____)

# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])
แก้ไขและรันโค้ด