Fraud detection के लिए अपने Random Forest को एडजस्ट करना
इस अभ्यास में आप random forest classifier के विकल्पों में गहराई से जाएँगे, जहाँ हम weights असाइन करेंगे और जंगल में मौजूद decision trees की shape को ट्यून करेंगे। आप weights मैन्युअली परिभाषित करेंगे, ताकि असंतुलन (imbalance) को थोड़ा कम किया जा सके। हमारे केस में 300 fraud और 7000 non-fraud केस हैं, तो weight ratio 1:12 सेट करने पर लगभग 1/3 fraud और 2/3 non-fraud का अनुपात बनता है, जो मॉडल को ट्रेन करने के लिए पर्याप्त है.
इस अभ्यास में डेटा पहले से training और test सेट में बाँटा जा चुका है, इसलिए आपको सिर्फ अपना मॉडल परिभाषित करने पर ध्यान देना है। आप शॉर्टकट के रूप में get_model_results() फंक्शन का उपयोग कर सकते हैं। यह फंक्शन आपके training डेटा पर मॉडल fit करता है, प्रेडिक्ट करता है, और वही performance metrics निकालता है जो आपने पिछले अभ्यासों में स्टेप-बाय-स्टेप किए थे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Fraud Detection
अभ्यास निर्देश
weightविकल्प बदलकर non-fraud और fraud केसों के लिए अनुपात 1 से 12 कीजिए, और split criterion 'entropy' सेट कीजिए.- अधिकतम गहराई 10 सेट कीजिए.
- leaf nodes में न्यूनतम सैंपल 10 सेट कीजिए.
- मॉडल में उपयोग होने वाले पेड़ों (trees) की संख्या 20 सेट कीजिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
# Change depth of model
max_depth=____,
# Change the number of samples in leaf nodes
min_samples_leaf=____,
# Change the number of trees to use
n_estimators=____, n_jobs=-1, random_state=5)
# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)