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_train và y_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
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ị
Cgiú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ị
Cnà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))