ตรวจสอบผลลัพธ์
ในแบบฝึกหัดนี้ จะตรวจสอบผลลัพธ์ของโมเดลตรวจจับการฉ้อโกงด้วย DBSCAN ในสถานการณ์จริง มักไม่มีป้ายกำกับที่เชื่อถือได้ ซึ่งนักวิเคราะห์การฉ้อโกงสามารถช่วยตรวจสอบผลได้ว่าเคสที่ถูกตั้งค่าสถานะนั้นน่าสงสัยจริงหรือไม่ นอกจากนี้ยังสามารถนำเคสการฉ้อโกงที่เคยพบในอดีตมาตรวจสอบว่าโมเดลตรวจพบหรือไม่
ในกรณีนี้ จะใช้ป้ายกำกับการฉ้อโกงเพื่อตรวจสอบผลลัพธ์ของโมเดล หมายเลขคลัสเตอร์ที่ทำนายได้มีอยู่ใน pred_labels และป้ายกำกับการฉ้อโกงดั้งเดิมอยู่ใน labels
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจจับการฉ้อโกงด้วย Python
คำแนะนำการฝึกหัด
- สร้าง dataframe ที่รวมหมายเลขคลัสเตอร์กับป้ายกำกับจริงเข้าด้วยกัน ส่วนนี้ได้ทำไว้ให้แล้ว
- สร้างเงื่อนไขเพื่อระบุการฉ้อโกงสำหรับสามคลัสเตอร์ที่เล็กที่สุด ได้แก่ คลัสเตอร์ 21, 17 และ 9
- สร้าง crosstab จากป้ายกำกับการฉ้อโกงจริงกับป้ายกำกับการฉ้อโกงที่สร้างขึ้นใหม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create a dataframe of the predicted cluster numbers and fraud labels
df = pd.DataFrame({'clusternr':pred_labels,'fraud':labels})
# Create a condition flagging fraud for the smallest clusters
df['predicted_fraud'] = np.where((df['clusternr']==21)|(____)|(____),1 , 0)
# Run a crosstab on the results
print(pd.crosstab(df['fraud'], df['____'], rownames=['Actual Fraud'], colnames=['Flagged Fraud']))