Regularized logistic regression
Chapter 1 में, आपने handwritten digits डेटासेट पर logistic regression का उपयोग किया था। यहाँ, हम L2 regularization का प्रभाव समझेंगे.
Handwritten digits डेटासेट पहले से लोड, स्प्लिट किया गया है और X_train, y_train, X_valid, और y_valid वैरिएबल्स में उपलब्ध है। train_errs और valid_errs वैरिएबल्स पहले से खाली लिस्ट के रूप में इनिशियलाइज़ हैं।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Linear Classifiers
अभ्यास निर्देश
- अलग-अलग
C_valueपर लूप चलाइए और हर बार एकLogisticRegressionमॉडल बनाएँ और फिट करें। - प्रत्येक मॉडल के लिए training सेट और validation सेट पर error सेव करें।
- Regularization पैरामीटर
Cके फ़ंक्शन के रूप में training और testing error का प्लॉट बनाएँ। - प्लॉट देखकर बताइए,
Cका सबसे अच्छा मान क्या है?
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Train and validaton errors initialized as empty list
train_errs = list()
valid_errs = list()
# Loop over values of C_value
for C_value in [0.001, 0.01, 0.1, 1, 10, 100, 1000]:
# Create LogisticRegression object and fit
lr = ____
lr.fit(____)
# Evaluate error rates and append to lists
train_errs.append( 1.0 - lr.score(____) )
valid_errs.append( 1.0 - lr.score(____) )
# Plot results
plt.semilogx(C_values, train_errs, C_values, valid_errs)
plt.legend(("train", "validation"))
plt.show()