正則化つきの製品レビュー分析
この演習では、Amazon の製品レビュー reviews データセットをもう一度使います。ラベルのベクトル y は感情を表し、ポジティブなら 1、それ以外は 0 です。行列 X には、BOW 手法で作成した数値特徴量がすべて含まれています。
正則化の強さが異なる2つのロジスティック回帰モデルを学習し、テストデータでの性能を比較します。正則化はモデルの複雑さを制御する方法でしたね。正則化が強いほどモデルは柔軟性が下がる一方で、汎化性能が高まりやすくなります。高い正則化をかけたモデルは、正則化なしのモデルより精度が低くなることもよくあります。
この演習はコースの一部です
Pythonで学ぶSentiment Analysis
演習の手順
- データを学習用とテスト用に分割します。
- 正則化パラメータを
1000にしたロジスティック回帰を学習します。さらに、正則化パラメータを0.001にした2つ目のロジスティック回帰も学習します。 - どちらのモデルについても、テストデータでの正解率を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Split data into training and testing
____, ____, ____, ____ = train_test_split(____, ____, test_size=0.2, random_state=123)
# Train a logistic regression with regularization of 1000
log_reg1 = ____(____=1000).fit(X_train, y_train)
# Train a logistic regression with regularization of 0.001
log_reg2 = ____(____=0.001).fit(X_train, y_train)
# Print the accuracies
print('Accuracy of model 1: ', log_reg1.____(____, ____))
print('Accuracy of model 2: ', log_reg2.____(____, ____))