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

การปรับแต่งโมเดล

วิธีง่าย ๆ ในการปรับโมเดล Random Forest ให้รับมือกับข้อมูลการฉ้อโกงที่ไม่สมดุลอย่างมาก คือการใช้ ตัวเลือก class_weights ตอนนิยามโมเดล sklearn อย่างไรก็ตาม อย่างที่จะเห็น วิธีนี้ค่อนข้างหยาบและอาจไม่ได้ผลในทุกกรณี

ในแบบฝึกหัดนี้ จะได้ลองใช้โหมด weight = "balanced_subsample" กับโมเดล Random Forest จากแบบฝึกหัดก่อนหน้า ข้อมูลถูกแบ่งเป็นชุดฝึกและชุดทดสอบเรียบร้อยแล้ว ได้แก่ X_train, X_test, y_train, y_test และได้ import ฟังก์ชัน metrics ไว้แล้ว

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

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

ดูคอร์ส

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

  • กำหนดอาร์กิวเมนต์ class_weight ของ classifier เป็น balanced_subsample
  • Fit โมเดลกับชุดข้อมูลฝึก
  • รับค่าทำนายและค่าความน่าจะเป็นจาก X_test
  • คำนวณ roc_auc_score, classification report และ confusion matrix

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

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

# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)

# Fit your training model to your training set
model.fit(____, ____)

# Obtain the predicted values and probabilities from the model 
predicted = ____.____(____)
probs = ____.____(____)

# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))
แก้ไขและรันโค้ด