Przewidajmy sentyment!

Analiza sentymentu w Pythonie

Violeta Misheva

Data Scientist

Problemy klasyfikacji

  • Recenzje produktów i filmów: sentyment pozytywny lub negatywny (klasyfikacja binarna)
  • Tweety o liniach lotniczych: pozytywny, neutralny i negatywny (klasyfikacja wieloklasowa)
Analiza sentymentu w Pythonie

Regresja liniowa i logistyczna

wykres przedstawiający regresję liniową (po lewej) dopasowaną do kilku wartości oraz regresję logistyczną (po prawej) dopasowaną do podobnych wartości

Analiza sentymentu w Pythonie

Funkcja logistyczna

  • Regresja liniowa: wynik liczbowy
  • Regresja logistyczna: prawdopodobieństwo:

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

wykres przedstawiający funkcję logistyczną (sigmoidalną) dopasowaną do kilku przykładów

Analiza sentymentu w Pythonie

Regresja logistyczna w Pythonie

from sklearn.linear_model import LogisticRegression
log_reg = LogisticRegression().fit(X, y)
Analiza sentymentu w Pythonie

Ocena wydajności modelu

Dokładność: odsetek poprawnych predykcji modelu.

  • Im wyższa dokładność i bliższa 1, tym lepiej
# Accuracy using score
score = log_reg.score(X, y)
print(score)
0.9009
Analiza sentymentu w Pythonie

Użycie accuracy_score

# Accuracy using accuracy_score
from sklearn.metrics import accuracy_score
y_predicted = log_reg.predict(X)
acurracy = accuracy_score(y, y_predicted)
0.9009
Analiza sentymentu w Pythonie

Ćwiczmy!

Analiza sentymentu w Pythonie

Preparing Video For Download...