感情を予測しよう!

Pythonで学ぶSentiment Analysis

Violeta Misheva

Data Scientist

分類問題

  • 商品・映画レビュー:肯定/否定(2値分類)
  • 航空会社に関するツイート:肯定・中立・否定(多クラス分類)
Pythonで学ぶSentiment Analysis

線形回帰とロジスティック回帰

左が少数点に対する線形回帰、右が同様の点に対するロジスティック回帰を示すグラフ

Pythonで学ぶSentiment Analysis

ロジスティック関数

  • 線形回帰:数値予測
  • ロジスティック回帰:確率

$$ Probability(sentiment=positive|review) $$

いくつかの例に当てはめたロジスティック(シグモイド)関数のグラフ

Pythonで学ぶSentiment Analysis

Pythonでのロジスティック回帰

from sklearn.linear_model import LogisticRegression
log_reg = LogisticRegression().fit(X, y)
Pythonで学ぶSentiment Analysis

モデル性能の評価

正解率(Accuracy):正しく予測できた割合。

  • 1に近いほど良い
# score による正解率
score = log_reg.score(X, y)
print(score)
0.9009
Pythonで学ぶSentiment Analysis

正解率の利用

# accuracy_score を使った正解率
from sklearn.metrics import accuracy_score
y_predicted = log_reg.predict(X)
acurracy = accuracy_score(y, y_predicted)
0.9009
Pythonで学ぶSentiment Analysis

Ayo berlatih!

Pythonで学ぶSentiment Analysis

Preparing Video For Download...