क्लास को बैलेंस करना
यह भविष्यवाणी के नतीजों पर बड़ा असर डाल सकता है, जैसा कि recall और accuracy स्कोर के अंतर से दिखता है. इस असंतुलन को दूर करने के लिए आमतौर पर हर क्लास को बराबर वेट दिए जाते हैं. sklearn के DecisionTreeClassifier में class_weight आर्ग्युमेंट का उपयोग करके क्लासेज़ को "balanced" बनाया जा सकता है.
आइए, असंतुलन की समस्या सुलझाकर अपने मॉडल को सही करें:
- पहले, आप balanced क्लासेज़ के साथ एक मॉडल सेट करेंगे
- फिर, उसे training डेटा पर फिट करेंगे
- अंत में, test सेट पर उसकी accuracy जाँचेंगे
वैरिएबल features_train, target_train, features_test और target_test पहले से ही आपके वर्कस्पेस में उपलब्ध हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
HR Analytics: Python में कर्मचारी churn की भविष्यवाणी
अभ्यास निर्देश
- Decision Tree Classifier को initialize करें, उसके अधिकतम डेप्थ को 5 तक सीमित करके अपना ट्री prune करें, और class weights को balance करें.
- नए मॉडल को फिट करें.
- test सेट के लिए prediction की accuracy
score(प्रतिशत में) प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Initialize the DecisionTreeClassifier
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)
# Fit the model
model_depth_5_b.____(features_train,target_train)
# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)