Förutsade vi sentimentet korrekt?

Sentimentanalys i Python

Violeta Misheva

Data Scientist

Tränings- och testdelning

totalt antal observationer uppdelat i ett tränings- och testset, där träningssettet är det större blocket

  • Träningsset: används för att träna modellen (70–80 % av all data)
  • Testset: används för att utvärdera modellens prestanda
Sentimentanalys i Python

Tränings- och testdelning i Python

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 : särdrag
  • y : etiketter
  • test_size: andel av data som används för testning
  • random_state: slumpfröet som styr uppdelningen
  • stratify: klassernas proportion i samplet matchar proportionen i detta värde
Sentimentanalys i Python

Logistisk regression med tränings- och testdelning

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
Sentimentanalys i Python

Noggrannhetspoäng med tränings- och testdelning

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
Sentimentanalys i Python

Förväxlingsmatris

ett exempel på en förväxlingsmatris för ett binärt klassificeringsproblem

Sentimentanalys i Python

Förväxlingsmatris i Python

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]]
Sentimentanalys i Python

Nu kör vi en övning!

Sentimentanalys i Python

Preparing Video For Download...