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

เปรียบเทียบ SMOTE กับข้อมูลต้นฉบับ

ในแบบฝึกหัดที่แล้ว เราพบว่าการใช้ SMOTE ช่วยเพิ่มจำนวนตัวอย่างของ minority class ได้อย่างชัดเจน คราวนี้มาเปรียบเทียบผลลัพธ์เหล่านั้นกับข้อมูลต้นฉบับ เพื่อทำความเข้าใจว่าเกิดอะไรขึ้นจริง ๆ เริ่มจากดู value counts ของข้อมูลเก่าและใหม่ แล้วพล็อต scatter plot ทั้งสองชุดเคียงกัน โดยจะใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้าชื่อ compare_plot() ซึ่งรับอาร์กิวเมนต์ดังนี้: X, y, X_resampled, y_resampled, method='' ฟังก์ชันนี้จะพล็อตข้อมูลต้นฉบับและข้อมูลที่ resample แล้วใน scatter plot เคียงกัน

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

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

ดูคอร์ส

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

  • พิมพ์ value counts ของ label ต้นฉบับ y โดยระวังว่า y ปัจจุบันเป็น Numpy array ดังนั้นในการใช้ value counts จึงต้องแปลง y กลับเป็น pandas Series ก่อน
  • ทำซ้ำขั้นตอนเดิมแล้วพิมพ์ value counts ของ y_resampled เพื่อดูว่าความสมดุลระหว่างสองคลาสเปลี่ยนแปลงไปอย่างไรหลังใช้ SMOTE
  • เรียกใช้ฟังก์ชัน compare_plot() ที่กำหนดไว้ล่วงหน้ากับข้อมูลต้นฉบับและข้อมูลที่ resample แล้ว เพื่อดู scatter plot ทั้งสองเคียงกัน

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

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

# Print the value_counts on the original labels y
print(pd.value_counts(pd.Series(____)))

# Print the value_counts
print(____(____(____)))

# Run compare_plot
compare_plot(____, ____, ____, ____, method='SMOTE')
แก้ไขและรันโค้ด