MulaiMulai sekarang secara gratis

Regresi logistik dengan regularisasi

Pada Bab 1, Anda menggunakan regresi logistik pada himpunan data digit tulisan tangan. Di sini, kita akan menelaah pengaruh regularisasi L2.

Himpunan data digit tulisan tangan sudah dimuat, dibagi, dan disimpan dalam variabel X_train, y_train, X_valid, dan y_valid. Variabel train_errs dan valid_errs sudah diinisialisasi sebagai daftar kosong.

Latihan ini adalah bagian dari kursus

Klasifikator Linear di Python

Lihat Kursus

Petunjuk latihan

  • Lakukan loop atas berbagai nilai C_value, lalu buat dan latih model LogisticRegression setiap kali.
  • Simpan galat pada himpunan latih dan himpunan validasi untuk setiap model.
  • Buat plot galat pelatihan dan pengujian sebagai fungsi dari parameter regularisasi, C.
  • Dengan melihat plot tersebut, berapakah nilai C yang terbaik?

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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()
Edit dan Jalankan Kode