逻辑回归与特征选择
在本练习中,您将使用 L1 正则化对电影评论情感数据集进行特征选择。特征和目标值已分别加载在 X_train 和 y_train 中。
我们将使用 scikit-learn 的 GridSearchCV() 搜索最佳的 C 值,该方法已在先修课程中介绍过。
本练习是课程的一部分
Python 中的线性分类器
练习说明
- 实例化一个使用 L1 正则化的逻辑回归对象。
- 找到使交叉验证误差最小的
C值。 - 打印该
C值对应的已选择特征数量。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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))