Grid search
हाइपरपैरामीटर ट्यूनिंग sklearn में विभिन्न इनपुट पैरामीटर्स देकर की जा सकती है, जिनमें से प्रत्येक को numpy की अलग-अलग फ़ंक्शंस से एन्कोड किया जा सकता है. ट्यूनिंग का एक तरीका, जो param_grid के ज़रिये दिए गए सभी इनपुट हाइपरपैरामीटर संयोजनों को पूरी तरह जाँचता है, grid search है. इस अभ्यास में, आप grid search का उपयोग करके एक सैंपल random forest classifier के हाइपरपैरामीटर्स पर खोज करेंगे, जहाँ स्कोरिंग फंक्शन ROC curve का AUC होगा.
X_train, y_train, X_test, y_test आपके वर्कस्पेस में उपलब्ध हैं. pandas pd के रूप में, numpy np के रूप में, और sklearn भी आपके वर्कस्पेस में उपलब्ध हैं. साथ ही, sklearn.model_selection से GridSearchCV() उपलब्ध है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Machine Learning के साथ CTR प्रेडिक्शन
अभ्यास निर्देश
n_estimatorsऔरmax_depthमें प्रत्येक हाइपरपैरामीटर के लिए मानों की सूची बनाएँ.- एक random forest classifier बनाएँ.
- सभी हाइपरपैरामीटर कॉम्बिनेशंस पर इटररेट करने के लिए grid search सेट करें.
.best_score_का उपयोग करके सबसे अच्छा AUC स्कोर प्रिंट करें, और.best_estimator_का उपयोग करके वह best estimator प्रिंट करें जिसने यह स्कोर दिलाया.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create list of hyperparameters
n_estimators = [10, 50]
max_depth = [5, 20]
param_grid = {'n_estimators': ____, 'max_depth': ____}
# Use Grid search CV to find best parameters
print("starting RF grid search.. ")
rf = ____()
clf = ____(estimator = rf, param_grid = ____, scoring = 'roc_auc')
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)