ÎncepețiÎncepe gratuit

Regresie logistică regularizată

În Capitolul 1, ai folosit regresia logistică pe setul de date cu cifre scrise de mână. Aici vom explora efectul regularizării L2.

Setul de date cu cifre scrise de mână este deja încărcat, împărțit și stocat în variabilele X_train, y_train, X_valid și y_valid. Variabilele train_errs și valid_errs sunt deja inițializate ca liste goale.

Acest exercițiu face parte din cursul

Clasificatori liniari în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Parcurge în buclă diferitele valori ale C_value, creând și antrenând de fiecare dată un model LogisticRegression.
  • Salvează eroarea pe setul de antrenament și pe setul de validare pentru fiecare model.
  • Creează un grafic al erorii de antrenament și de testare în funcție de parametrul de regularizare C.
  • Uitându-te la grafic, care este cea mai bună valoare a lui C?

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul