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

Random over-sampling

รายการโอนเงินที่เป็นการฉ้อโกงมีสัดส่วนน้อยมากในชุดข้อมูล คราวนี้จะทำการ over-sample รายการฉ้อโกง เพื่อ ปรับสมดุลการกระจายของคลาส โดย feature Class ในชุดข้อมูล creditcard มีค่าเป็น 1 สำหรับกรณีฉ้อโกง และ 0 สำหรับกรณีปกติ

สามารถใช้ console เพื่อแสดงคอลัมน์ของ 'creditcard' ด้วย str(), แสดง 6 แถวแรกของชุดข้อมูลด้วย head() และตรวจสอบความสมดุลของ Class ด้วย table(creditcard$Class)

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

การตรวจจับการฉ้อโกงใน R

ดูคอร์ส

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

  • โหลดแพ็กเกจ ROSE
  • กำหนดค่า n_new เป็นจำนวนรายการที่ต้องการในชุดข้อมูลที่ over-sample แล้ว โดยให้ชุดข้อมูลใหม่ประกอบด้วยรายการฉ้อโกง 30% และรายการปกติ 70% วิธีคำนวณคือนำจำนวนรายการ ปกติ ที่มีอยู่หารด้วยสัดส่วนที่ต้องการของรายการปกติในชุดข้อมูลที่ over-sample แล้ว
  • ใช้ฟังก์ชัน ovun.sample() สำหรับการ over-sampling โดยใช้ Class ~ . เป็น formula
  • ตรวจสอบความสมดุลของคลาสในชุดข้อมูลที่ over-sample แล้ว

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

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

# Load ROSE
___

# Calculate the total number of required cases in the over-sampled dataset
print(table(creditcard$Class))
n_new <- ___

# Over-sample
oversampling_result <- ___(formula = ___, data = ___,
                           method = ___, N = ___, seed = 2018)

# Verify the Class-balance of the over-sampled dataset
oversampled_credit <- oversampling_result$data
prop.table(___(___))
แก้ไขและรันโค้ด