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

ปรับแต่ง Random Forest สำหรับการตรวจจับการฉ้อโกง

ในแบบฝึกหัดนี้ เราจะเจาะลึกตัวเลือกต่าง ๆ ของ random forest classifier โดยจะกำหนดค่าน้ำหนักและปรับรูปทรงของ decision tree ในป่าไม้ และจะกำหนดค่าน้ำหนักด้วยตนเอง เพื่อชดเชยความไม่สมดุลของข้อมูลในระดับหนึ่ง ในกรณีนี้ เรามีข้อมูลการฉ้อโกง 300 รายการ และข้อมูลปกติ 7,000 รายการ ดังนั้นการกำหนดอัตราส่วนน้ำหนักเป็น 1:12 จะทำให้สัดส่วนการฉ้อโกงอยู่ที่ 1/3 ต่อข้อมูลปกติ 2/3 ซึ่งเพียงพอสำหรับการเทรนโมเดล

ข้อมูลในแบบฝึกหัดนี้แบ่งเป็นชุดฝึกและชุดทดสอบเรียบร้อยแล้ว จึงต้องโฟกัสเฉพาะการกำหนดโมเดลเท่านั้น จากนั้นใช้ฟังก์ชัน get_model_results() เป็นทางลัด ซึ่งฟังก์ชันนี้จะ fit โมเดลกับข้อมูลฝึก พยากรณ์ผล และคำนวณค่าเมตริกประสิทธิภาพ เช่นเดียวกับขั้นตอนที่ทำในแบบฝึกหัดก่อนหน้า

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

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

ดูคอร์ส

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

  • เปลี่ยนตัวเลือก weight เพื่อกำหนดอัตราส่วนระหว่างกรณีไม่ฉ้อโกงและฉ้อโกงเป็น 1 ต่อ 12 และกำหนดเกณฑ์การแบ่งเป็น 'entropy'
  • กำหนดความลึกสูงสุดเป็น 10
  • กำหนดจำนวนตัวอย่างขั้นต่ำใน leaf node เป็น 10
  • กำหนดจำนวนต้นไม้ที่ใช้ในโมเดลเป็น 20

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

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

# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
			
			# Change depth of model
            max_depth=____,
		
			# Change the number of samples in leaf nodes
            min_samples_leaf=____, 

			# Change the number of trees to use
            n_estimators=____, n_jobs=-1, random_state=5)

# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)
แก้ไขและรันโค้ด