モデルを構築して評価する:映画レビュー
この問題では、movies データセットを使ってロジスティック回帰モデルを構築します。スコアは label 列に格納されており、レビューがポジティブなら 1、ネガティブなら 0 です。テキストレビューは BOW を用いて数値列に変換済みです。
これまでに分類器を作成しましたが、学習に使ったのと同じデータで評価していました。今回は、未見のテストデータセットでモデルを評価するようにしてください。テストセットで評価すると、モデルのパフォーマンスはどのように変化しますか?
この演習はコースの一部です
Pythonで学ぶSentiment Analysis
演習の手順
- 訓練/テスト分割に必要な関数をインポートします。
- データの 20% をテストセットとして使うように指定して、訓練/テスト分割を行います。
- ロジスティック回帰モデルを学習させます。
- 訓練データとテストデータそれぞれに対するモデルの正解率を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import the required packages
from sklearn.linear_model import LogisticRegression
____
# Define the vector of labels and matrix of features
y = movies.label
X = movies.drop('label', axis=1)
# Perform the train-test split
X_train, X_test, y_train, y_test = ____(X, y, ____=0.2, random_state=42)
# Build a logistic regression model and print out the accuracy
log_reg = ____.____
print('Accuracy on train set: ', log_reg.____(____, ____))
print('Accuracy on test set: ', log_reg.____(____, ____))