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

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()
कोड संपादित करें और चलाएँ