ट्री को प्रून करना
ओवरफिटिंग एनालिटिक्स में एक क्लासिक समस्या है, खासकर Decision Tree एल्गोरिदम के लिए। जब ट्री पूरी तरह grow हो जाता है, तो वह प्रशिक्षण सैंपल पर बहुत सटीक भविष्यवाणियाँ दे सकता है, लेकिन टेस्ट सेट पर उतना सटीक न हो। इसी कारण Decision Tree की ग्रोथ आम तौर पर इन तरीकों से नियंत्रित की जाती है:
- ट्री को "prune" करना और उसकी अधिकतम गहराई पर सीमा तय करना.
- ट्री की एक leaf में न्यूनतम observations की संख्या सीमित करना.
इस अभ्यास में, आप:
- ट्री को prune करेंगे और उसकी ग्रोथ को 5 लेवल की depth तक सीमित करेंगे
- इसे employee डेटा पर फिट करेंगे
- प्रशिक्षण और टेस्टिंग दोनों सेटों पर prediction परिणाम जाँचेंगे.
वैरिएबल features_train, target_train, features_test और target_test पहले से ही आपके workspace में उपलब्ध हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
HR Analytics: Python में कर्मचारी churn की भविष्यवाणी
अभ्यास निर्देश
DecisionTreeClassifierको initialize करें और ट्री की depth को 5 तक सीमित करें.- प्रशिक्षण सेट में
featuresऔरtargetका उपयोग करके Decision Tree मॉडल को फिट करें. - प्रशिक्षण और टेस्ट दोनों सेटों पर भविष्यवाणियों की accuracy जाँचें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Initialize the DecisionTreeClassifier while limiting the depth of the tree to 5
model_depth_5 = DecisionTreeClassifier(____=5, random_state=42)
# Fit the model
____.fit(features_train,target_train)
# Print the accuracy of the prediction for the training set
print(____.____(features_train,target_train)*100)
# Print the accuracy of the prediction for the test set
print(model_depth_5.score(____,____)*100)