शुरू करेंमुफ़्त में शुरू करें

Scikit Learn में RandomizedSearchCV

आइए Scikit Learn का उपयोग करके एक RandomizedSearchCV ऑब्जेक्ट बनाना प्रैक्टिस करें.

हाइपरपैरामीटर ग्रिड max_depth (5 से 25 तक के सभी मान, दोनों सहित) और max_features ('auto' और 'sqrt') के लिए होना चाहिए.

RandomizedSearchCV ऑब्जेक्ट के लिए वांछित ऑप्शंस:

  • n_estimators = 80 वाला RandomForestClassifier एस्टीमेेटर.
  • 3-fold क्रॉस-वैलिडेशन (cv)
  • मॉडलों को स्कोर करने के लिए roc_auc का उपयोग करें
  • पैरेलल प्रोसेसिंग के लिए 4 कोर का उपयोग करें (n_jobs)
  • बेस्ट मॉडल को दोबारा फिट करें और ट्रेनिंग स्कोर रिटर्न हों, यह सुनिश्चित करें
  • दक्षता के लिए केवल 5 मॉडलों का सैंपल लें (n_iter)

X_train और y_train डेटासेट आपके लिए लोड हैं.

याद रखें, चुने गए हाइपरपैरामीटर्स निकालने के लिए वे cv_results_ में मिलते हैं, जहाँ हर हाइपरपैरामीटर के लिए एक अलग कॉलम होता है. उदाहरण के लिए, हाइपरपैरामीटर criterion का कॉलम param_criterion होगा.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Hyperparameter Tuning

पाठ्यक्रम देखें

अभ्यास निर्देश

  • ऊपर दिए गए संदर्भ के अनुसार एक हाइपरपैरामीटर ग्रिड बनाएँ.
  • संदर्भ के अनुसार एक RandomizedSearchCV ऑब्जेक्ट बनाएँ.
  • RandomizedSearchCV ऑब्जेक्ट को प्रशिक्षण डेटा पर फिट करें.
  • cv_results_ ऑब्जेक्ट को इंडेक्स करके दोनों हाइपरपैरामीटर्स (max_depth और max_features) के लिए मॉडलिंग प्रक्रिया द्वारा चुनी गई वैल्यूज़ प्रिंट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Create the parameter grid
param_grid = {'max_depth': list(range(____,26)), 'max_features': [____ , ____]} 

# Create a random search object
random_rf_class = RandomizedSearchCV(
    estimator = ____(n_estimators=____),
    param_distributions = ____, n_iter = ____,
    scoring=____, n_jobs=____, cv = ____, refit=____, return_train_score = ____ )

# Fit to the training data
____.fit(X_train, y_train)

# Print the values used for both hyperparameters
print(random_rf_class.cv_results_[____])
print(random_rf_class.cv_results_[____])
कोड संपादित करें और चलाएँ