ステップ3:分類器を構築する
これが感情分析による予測の最終ステップです。これまでに、感情に関連する特徴量でデータセットを探索・拡張し、数値ベクトルを作成してきました。
前のステップで作成したデータセットを使います。具体的には、レビューの長さを表す特徴量と、Tfidf ベクトライザで作成した200個の特徴量が含まれています。
あなたの課題は、感情を予測するためにロジスティック回帰を学習させることです。データはすでに読み込まれており、reviews_transformed と呼ばれます。目的変数は score で、二値です:製品レビューがポジティブなときは 1、それ以外は 0 です。
ロジスティック回帰モデルを学習し、テストデータで性能を評価してください。モデルの出来はどうでしょうか?
必要なパッケージはすべてインポート済みです。
この演習はコースの一部です
Pythonで学ぶSentiment Analysis
演習の手順
- 学習/テスト分割を実行し、データの20%をテスト用に割り当て、乱数シードを
456に設定してください。 - ロジスティック回帰モデルを学習してください。
- クラスを予測してください。
- テストセットにおける正解率と混同行列を出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define X and y
y = reviews_transformed.score
X = reviews_transformed.drop('score', axis=1)
# Train/test split
X_train, X_test, y_train, y_test = ____(____, ____, ____=0.2, ____=456)
# Train a logistic regression
log_reg = ____.____(____, ____)
# Predict the labels
y_predicted = log_reg.____(____)
# Print accuracy score and confusion matrix on test set
print('Accuracy on the test set: ', ____(____, ____))
print(____(____, ____)/len(y_test))