मॉडल एडजस्टमेंट्स
हाईली इम्बैलेंस्ड फ्रॉड डेटा से निपटने के लिए रैंडम फॉरेस्ट मॉडल को एडजस्ट करने का एक आसान तरीका है अपने sklearn मॉडल को परिभाषित करते समय class_weights ऑप्शन का उपयोग करना। हालाँकि, जैसा कि आप देखेंगे, यह थोड़ा सा ब्लंट-फोर्स तरीका है और आपकी बहुत खास स्थिति में काम न भी करे।
इस अभ्यास में आप पहले वाले अभ्यास के Random Forest मॉडल में weight = "balanced_subsample" मोड को एक्सप्लोर करेंगे। आपने डेटा को पहले ही ट्रेनिंग और टेस्ट सेट में बाँट दिया है, यानी X_train, X_test, y_train, y_test उपलब्ध हैं। मेट्रिक्स फंक्शन्स पहले से इम्पोर्ट की जा चुकी हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Fraud Detection
अभ्यास निर्देश
- अपने क्लासिफायर के
class_weightआर्ग्युमेंट कोbalanced_subsampleपर सेट करें. - अपने मॉडल को ट्रेनिंग सेट पर फिट करें.
X_testसे प्रेडिक्शन और प्रॉबेबिलिटीज़ प्राप्त करें.roc_auc_score, क्लासिफिकेशन रिपोर्ट और कन्फ्यूजन मैट्रिक्स प्राप्त करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)
# Fit your training model to your training set
model.fit(____, ____)
# Obtain the predicted values and probabilities from the model
predicted = ____.____(____)
probs = ____.____(____)
# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))