रैंडम ओवर-सैंपलिंग
क्रेडिट ट्रांसफ़र में केवल बहुत छोटा अंश ही धोखाधड़ी (fraud) का होता है. अब आप fraud केसों का ओवर-सैंपल करेंगे ताकि क्लास डिस्ट्रीब्यूशन बैलेंस हो सके. डेटासेट creditcard में फीचर Class का मान fraud होने पर 1 और अन्यथा 0 होता है.
आप कंसोल में str() से 'creditcard' के कॉलम देख सकते हैं, head() से डेटासेट की शुरुआती 6 पंक्तियाँ प्रिंट कर सकते हैं, और table(creditcard$Class) से Class-बैलेंस जाँच सकते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Fraud Detection
अभ्यास निर्देश
ROSEपैकेज लोड करें.n_newको ओवर-सैंपल किए गए डेटासेट में आवश्यक कुल केसों की संख्या के रूप में निर्दिष्ट करें ताकि नए डेटासेट में 30% fraud केस और 70% legitimate केस हों. इसके लिए, मौजूदा legitimate केसों की संख्या को ओवर-सैंपल किए गए डेटासेट में legitimate केसों के वांछित प्रतिशत से विभाजित करें.- ओवर-सैंपलिंग के लिए
Class ~ .को formula बनाकरovun.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(___(___))