Začněte nyníZačněte zdarma

Regularizovaná logistická regrese

V kapitole 1 jsi používal/a logistickou regresi na datové sadě ručně psaných číslic. Teď prozkoumáme vliv L2 regularizace.

Dataová sada ručně psaných číslic je už načtená, rozdělená a uložená v proměnných X_train, y_train, X_valid a y_valid. Proměnné train_errs a valid_errs jsou inicializované jako prázdné seznamy.

Toto cvičení je součástí kurzu

Linear Classifiers in Python

Zobrazit kurz

Pokyny k cvičení

  • Projdi různé hodnoty C_value v cyklu a pokaždé vytvoř a natrénuj model LogisticRegression.
  • Pro každý model ulož chybu na trénovací a validační sadě.
  • Vytvoř graf trénovací a testovací chyby jako funkce regularizačního parametru C.
  • Podívej se na graf – jaká hodnota C je nejlepší?

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód