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

ใช้ GridSearchCV เพื่อหาพารามิเตอร์ที่ดีที่สุด

ในแบบฝึกหัดนี้ เราจะปรับแต่งโมเดลให้มีระบบมากขึ้น โดยใช้ GridSearchCV ทำงานให้แทน

ด้วย GridSearchCV สามารถกำหนดได้ว่าต้องการใช้เมตริกใดในการประเมินตัวเลือกต่าง ๆ เนื่องจากการตรวจจับการฉ้อโกงให้ความสำคัญกับการจับเคสฉ้อโกงให้ได้มากที่สุด จึงสามารถปรับค่าโมเดลเพื่อให้ได้คะแนน Recall ที่ดีที่สุด หากต้องการลดจำนวน false positive ด้วย ก็สามารถเลือก optimize ด้วย F1-score ซึ่งจะให้ความสมดุลระหว่าง Precision และ Recall

GridSearchCV ถูก import จาก sklearn.model_selection ไว้แล้ว มาลองใช้กันเลย!

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

การตรวจจับการฉ้อโกงด้วย Python

ดูคอร์ส

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

  • กำหนด parameter grid ว่าต้องการทดลองใช้จำนวนต้นไม้ที่ 1 และ 30 ต้น และทดลอง split criterion แบบ gini และ entropy
  • กำหนดโมเดลเป็น RandomForestClassifier อย่างง่าย โดยตั้งค่า random_state ไว้ที่ 5 เพื่อให้เปรียบเทียบโมเดลต่าง ๆ ได้
  • ตั้งค่าตัวเลือก scoring ให้ optimize สำหรับ recall
  • Fit โมเดลกับข้อมูลฝึก X_train และ y_train จากนั้นดึงพารามิเตอร์ที่ดีที่สุดของโมเดลออกมา

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

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

# Define the parameter sets to test
param_grid = {'n_estimators': [____, ____], 'max_features': ['auto', 'log2'],  'max_depth': [4, 8], 'criterion': ['____', '____']
}

# Define the model to use
model = ____(random_state=5)

# Combine the parameter sets with the defined model
CV_model = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='____', n_jobs=-1)

# Fit the model to our training data and obtain best parameters
CV_model.fit(____, ____)
CV_model.____
แก้ไขและรันโค้ด