การตรวจจับการฉ้อโกงใน R
Sebastiaan Höppner
PhD researcher in Data Science at KU Leuven
dim(transfer_data)
1000 4
head(transfer_data)
isFraud amount balance ratio
1 false 528.6840 1529.4732 0.3456641
2 false 184.0193 836.3509 0.2200265
3 false 1885.8024 2984.0684 0.6319568
4 false 732.0286 1248.7217 0.5862224
prop.table(table(transfer_data$isFraud))
false true
0.99 0.01


เลือกกรณีฉ้อโกง X (Tim)

ขั้นตอนที่ 1
หา K เพื่อนบ้านที่ใกล้ที่สุด
ของ X (Tim) ในกลุ่มฉ้อโกง
เช่น K = 4

ขั้นตอนที่ 2
สุ่มเลือกเพื่อนบ้านที่ใกล้ที่สุด ของ Tim หนึ่งราย เช่น X4 (Bart)

ขั้นตอนที่ 3 : สร้างตัวอย่างสังเคราะห์

ขั้นตอนที่ 3 : สร้างตัวอย่างสังเคราะห์

ขั้นตอนที่ 3 : สร้างตัวอย่างสังเคราะห์


ขั้นตอนที่ 4
ทำซ้ำขั้นตอนที่ 1-3 สำหรับทุกกรณีฉ้อโกง
dup_size ครั้ง
เช่น dup_size = 10

library(smotefamily) smote_output = SMOTE(X = transfer_data[, -1], target = transfer_data$isFraud, K = 4, dup_size = 10)oversampled_data = smote_output$datatable(oversampled_data$isFraud)
false true
990 110
prop.table(table(oversampled_data$isFraud))
false true
0.9 0.1

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