Kom igångKom igång gratis

Regulariserad logistisk regression

I kapitel 1 använde du logistisk regression på datasetet med handskrivna siffror. Här undersöker vi effekten av L2-regularisering.

Datasetet med handskrivna siffror är redan inläst, uppdelat och lagrat i variablerna X_train, y_train, X_valid och y_valid. Variablerna train_errs och valid_errs är redan initierade som tomma listor.

Den här övningen är en del av kursen

Linjära klassificerare i Python

Visa kurs

Övningsinstruktioner

  • Loopa över de olika värdena för C_value och skapa och träna en LogisticRegression-modell för varje värde.
  • Spara felet på träningsuppsättningen och valideringsuppsättningen för varje modell.
  • Skapa ett diagram över tränings- och testfelet som funktion av regulariseringsparametern C.
  • Vad är det bästa värdet på C utifrån diagrammet?

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod