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

Logistic regression và chọn đặc trưng

Trong bài tập này, bạn sẽ thực hiện chọn đặc trưng trên bộ dữ liệu cảm xúc đánh giá phim bằng L1 regularization. Các đặc trưng và nhãn đích đã được nạp sẵn trong X_trainy_train.

Chúng ta sẽ tìm giá trị C tốt nhất bằng GridSearchCV() của scikit-learn, nội dung đã được đề cập trong khóa học tiên quyết.

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

  • Khởi tạo một đối tượng logistic regression sử dụng L1 regularization.
  • Tìm giá trị C giúp tối thiểu hóa lỗi cross-validation.
  • In ra số lượng đặc trưng được chọn ứng với giá trị C này.

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.

# Specify L1 regularization
lr = LogisticRegression(solver='liblinear', ____)

# Instantiate the GridSearchCV object and run the search
searcher = GridSearchCV(lr, {'C':[0.001, 0.01, 0.1, 1, 10]})
searcher.fit(X_train, y_train)

# Report the best parameters
print("Best CV params", searcher.best_params_)

# Find the number of nonzero coefficients (selected features)
best_lr = searcher.best_estimator_
coefs = best_lr.____
print("Total number of features:", coefs.size)
print("Number of selected features:", np.count_nonzero(coefs))
Chỉnh sửa và Chạy Mã