Predikovali jsme sentiment správně?

Sentiment Analysis v Pythonu

Violeta Misheva

Data Scientist

Rozdělení na trénovací a testovací sadu

celkový počet pozorování rozdělených na trénovací a testovací sadu, přičemž trénovací sada je větší blok

  • Trénovací sada: slouží k trénování modelu (70–80 % dat)
  • Testovací sada: slouží k vyhodnocení výkonu modelu
Sentiment Analysis v Pythonu

Rozdělení na trénovací a testovací sadu v Pythonu

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=123, stratify=y)
  • X : příznaky
  • y : štítky
  • test_size: podíl dat použitých pro testování
  • random_state: seed generátoru pro rozdělení
  • stratify: podíl tříd ve vzorku bude odpovídat podílu hodnot tohoto parametru
Sentiment Analysis v Pythonu

Logistická regrese s rozdělením na trénovací a testovací sadu

log_reg = LogisticRegression().fit(X_train, y_train)
print('Accuracy on training data: ', log_reg.score(X_train, y_train))
0.76
print('Accuracy on testing data: ', log_reg.score(X_test, y_test))
0.73
Sentiment Analysis v Pythonu

Skóre přesnosti s rozdělením na trénovací a testovací sadu

from sklearn.metrics import accuracy_score
log_reg = LogisticRegression().fit(X_train, y_train)
y_predicted = log_reg.predict(X_test)
print('Accuracy score on test data: ', accuracy_score(y_test, y_predicted))
0.73
Sentiment Analysis v Pythonu

Matice záměn

příklad matice záměn pro binární klasifikační úlohu

Sentiment Analysis v Pythonu

Matice záměn v Pythonu

from sklearn.metrics import confusion_matrix
log_reg = LogisticRegression().fit(X_train, y_train)
y_predicted = log_reg.predict(X_test)
print(confusion_matrix(y_test, y_predicted)/len(y_test))
[[0.3788 0.1224]
 [0.1352 0.3636]]
Sentiment Analysis v Pythonu

Pojďme si procvičit!

Sentiment Analysis v Pythonu

Preparing Video For Download...