Bắt đầu ngayBắt đầu miễn phí

Hồi quy logistic có regularization

Trong Chương 1, bạn đã dùng hồi quy logistic trên bộ dữ liệu chữ số viết tay. Ở đây, chúng ta sẽ khám phá tác động của regularization L2.

Bộ dữ liệu chữ số viết tay đã được nạp, chia tách và lưu trong các biến X_train, y_train, X_validy_valid. Các biến train_errsvalid_errs đã được khởi tạo là danh sách rỗng.

Bài tập này là một phần của khóa học

Bộ phân loại tuyến tính với Python

Xem khóa học

Hướng dẫn bài tập

  • Lặp qua các giá trị khác nhau của C_value, mỗi lần tạo và huấn luyện một mô hình LogisticRegression.
  • Lưu lỗi trên tập huấn luyện và tập validation cho mỗi mô hình.
  • Vẽ biểu đồ lỗi huấn luyện và lỗi kiểm thử theo hàm của siêu tham số regularization C.
  • Nhìn vào biểu đồ, giá trị C tốt nhất là bao nhiêu?

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã