ロジスティック回帰と特徴選択
この演習では、映画レビューの感情分析データセットに対して 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))