Natural hit rate
इस अभ्यास में, आप फिर से क्रेडिट कार्ड ट्रांज़ैक्शन डेटा का उपयोग करेंगे. फीचर और लेबल पिछले चैप्टर के डेटा जैसे ही हैं, और डेटा बहुत असंतुलित (imbalanced) है. आपके पास काम करने के लिए X फीचर और y लेबल पहले से दिए गए हैं, जो दोनों NumPy arrays हैं.
सबसे पहले, आपको देखना है कि डेटासेट में फ्रॉड कितनी बार होता है, ताकि समझ सकें कि अगर हम हर चीज़ को non-fraud भविष्यवाणी करें तो "natural accuracy" क्या होगी. यह समझना ज़रूरी है कि आपको किस स्तर की "accuracy" को "पार" करना है ताकि कुछ भी न करने से बेहतर प्रेडिक्शन मिले. अगले अभ्यासों में, आप फ्रॉड डिटेक्शन के लिए पहला random forest classifier बनाएँगे. वह "baseline" मॉडल होगा, जिसे आप आने वाले अभ्यासों में बेहतर बनाने की कोशिश करेंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Fraud Detection
अभ्यास निर्देश
- अपने लेबल
yकी length लेकर कुल observations की संख्या गिनें. - हमारे डेटा में non-fraud केसों की गिनती करने के लिए
yपर list comprehension का उपयोग करें; ध्यान दें किyएक NumPy array है, इसलिए इस मामले में.value_counts()का उपयोग नहीं हो सकता. - natural accuracy निकालने के लिए non-fraud केसों को कुल observations से विभाजित करें.
- प्रतिशत प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Count the total number of observations from the length of y
total_obs = ____
# Count the total number of non-fraudulent observations
non_fraud = [i for ____ ____ ____ if i == 0]
count_non_fraud = non_fraud.count(0)
# Calculate the percentage of non fraud observations in the dataset
percentage = (float(____)/float(____)) * 100
# Print the percentage: this is our "natural accuracy" by doing nothing
____(____)