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

RandomizedSearchCV के साथ हाइपरपैरामीटर ट्यूनिंग

जैसा कि आपने देखा, GridSearchCV कम्प्यूटेशन के हिसाब से महंगा पड़ सकता है, खासकर तब जब आप बहुत बड़े हाइपरपैरामीटर स्पेस में खोज रहे हों. ऐसे में आप RandomizedSearchCV इस्तेमाल कर सकते हैं, जो दी गई probability distributions से हाइपरपैरामीटर सेटिंग्स की एक निश्चित संख्या को टेस्ट करता है.

diabetes_df से training और test सेट आपके लिए पहले से X_train, X_test, y_train, और y_test के रूप में लोड हैं, जहाँ target "diabetes" है. एक logistic regression मॉडल बनाया जा चुका है और logreg के रूप में स्टोर है, साथ ही KFold वैरिएबल kf के रूप में स्टोर है.

आप हाइपरपैरामीटर्स की एक रेंज परिभाषित करेंगे और sklearn.model_selection से इम्पोर्ट किए गए RandomizedSearchCV का उपयोग करके इन विकल्पों में से बेहतरीन हाइपरपैरामीटर ढूँढ़ेंगे.

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

scikit-learn के साथ Supervised Learning

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

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

  • params बनाएँ: penalty के लिए "l1" और "l2" जोड़ें, C को 0.1 और 1.0 के बीच 50 float मानों की रेंज पर सेट करें, और class_weight को या तो "balanced" या एक dictionary {0:0.8, 1:0.2} पर सेट करें.
  • Randomized Search CV ऑब्जेक्ट बनाएँ, जिसमें मॉडल और पैरामीटर्स पास करें, और cv को kf के बराबर सेट करें.
  • logreg_cv को training डेटा पर fit करें.
  • मॉडल के सर्वश्रेष्ठ पैरामीटर्स और accuracy स्कोर प्रिंट करें.

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

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

# Create the parameter space
params = {"penalty": ["____", "____"],
         "tol": np.linspace(0.0001, 1.0, 50),
         "C": np.linspace(____, ____, ____),
         "class_weight": ["____", {0:____, 1:____}]}

# Instantiate the RandomizedSearchCV object
logreg_cv = ____(____, ____, cv=____)

# Fit the data to the model
logreg_cv.____(____, ____)

# Print the tuned parameters and score
print("Tuned Logistic Regression Parameters: {}".format(____.____))
print("Tuned Logistic Regression Best Accuracy Score: {}".format(____.____))
कोड संपादित करें और चलाएँ