लर्निंग कर्व बनाना
यदि हम किसी एक हाइपरपैरामीटर के बहुत से अलग-अलग मान जाँचते हैं, तो उन्हें DataFrame के रूप में देखना आसान नहीं होता. आपने पहले इसे विश्लेषित करने की एक बढ़िया ट्रिक सीखी थी. 'लर्निंग कर्व' नाम का ग्राफ़ किसी विशेष हाइपरपैरामीटर को बढ़ाने या घटाने के प्रभाव को अंतिम परिणाम पर साफ़ दिखा सकता है.
लर्निंग रेट के सिर्फ कुछ मान जाँचने के बजाय, आप बहुत से मान जाँचेंगे ताकि इस हाइपरपैरामीटर का प्रभाव मानों की विस्तृत रेंज में आसानी से दिख सके. NumPy का एक उपयोगी फंक्शन np.linspace(start, end, num) है जो आपको किसी दिए गए अंतराल (start, end) में समान अंतर वाले मानों की एक संख्या (num) बनाने देता है.
आपके पास X_train, X_test, y_train और y_test डेटासेट उपलब्ध होंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Hyperparameter Tuning
अभ्यास निर्देश
- 0.01 और 2 के बीच समान अंतर वाले 30 लर्निंग रेट्स की एक लिस्ट बनाएँ.
- पिछले अभ्यास जैसा ही एक लूप बनाएँ, लेकिन केवल एक्यूरेसी स्कोर को एक लिस्ट में सेव करें.
- लर्निंग रेट्स को एक्यूरेसी स्कोर के विरुद्ध प्लॉट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Set the learning rates & accuracies list
learn_rates = np.linspace(____, ____, num=____)
accuracies = []
# Create the for loop
for learn_rate in learn_rates:
# Create the model, predictions & save the accuracies as before
model = GradientBoostingClassifier(learning_rate=____)
predictions = model.fit(____, ____).predict(____)
accuracies.append(accuracy_score(y_test, ____))
# Plot results
plt.plot(____, ____)
plt.gca().set(xlabel='learning_rate', ylabel='Accuracy', title='Accuracy for different learning_rates')
plt.____