ลดขนาดกลุ่มข้อมูลส่วนใหญ่
แทนที่จะเพิ่มจำนวนเคสฉ้อโกงในชุดข้อมูล คุณสามารถลบเคสที่ถูกต้องออกแบบสุ่มเพื่อปรับสมดุลชุดข้อมูลแทนได้ ลองทำ under-sampling กลุ่มข้อมูลส่วนใหญ่ (Class = 0) ในชุดข้อมูล creditcard กัน สามารถใช้ table() ใน console เพื่อดูจำนวนธุรกรรมฉ้อโกงและธุรกรรมปกติในชุดข้อมูลได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจจับการฉ้อโกงใน R
คำแนะนำการฝึกหัด
- โหลดไลบรารี ROSE
- กำหนดค่า
n_newให้เป็นจำนวนเคสที่ต้องการในชุดข้อมูลหลัง under-sampling โดยให้ชุดข้อมูลใหม่มีสัดส่วนเคสฉ้อโกง 40% วิธีคำนวณคือหารจำนวนเคสฉ้อโกงด้วยสัดส่วนที่ต้องการ - ทำ under-sampling กับชุดข้อมูล
- ใช้
table()และprop.table()เพื่อตรวจสอบความสมดุลของคลาสในชุดข้อมูลที่ผ่านการ under-sampling แล้ว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Load ROSE
___
# Calculate the required number of cases in the over-sampled dataset
n_new <- ___
# Under-sample
undersampling_result <- ___(formula = ___, data = ___,
___ = ___, ___ = ___, seed = 2018)
# Verify the Class-balance of the under-sampled dataset
undersampled_credit <- undersampling_result$___
___(___(___))