Twitterデータの評価指標
ツイートのセンチメントを予測するロジスティック回帰モデルを学習し、テストセットでさまざまな指標を用いて性能を評価します。
行列 X は用意済みで、text 列に対してBOWで作成した特徴量が含まれています。
ラベルは y というベクトルに格納されています。ベクトル y は、ネガティブを 0、ニュートラルを 1、ポジティブを 2 としています。
クラスが3つありますが、これは分類問題のままです。正解率は依然として正しく予測できたインスタンスの割合を測る指標です。混同行列は 3x3 になり、各行はクラス 2、1、0 に予測された件数を、各列はクラス 2、1、0 の真の件数を表します。
必要なパッケージはすべてインポート済みです。
この演習はコースの一部です
Pythonで学ぶSentiment Analysis
演習の手順
- 訓練/テスト分割を実行し、
yで層化(stratify)してください。 - ロジスティック回帰の分類器を学習させてください。
- テストセットで予測を行って性能を評価してください。
- テストセットで得られた正解率と混同行列を出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = ____(X, y, test_size=0.3, random_state=123, ____=y)
# Train a logistic regression
log_reg = ____.____(___, ____)
# Make predictions on the test set
y_predicted = log_reg.____(___)
# Print the performance metrics
print('Accuracy score test set: ', ____(y_test, y_predicted))
print('Confusion matrix test set: \n', ____(y_test, y_predicted)/len(y_test))