Ми справді добре передбачили сентимент?

Аналіз тональності в Python

Violeta Misheva

Data Scientist

Розбиття на train/test

загальна кількість спостережень, поділена на тренувальну й тестову вибірки; тренувальна — більший блок

  • Training set: для навчання моделі (70–80% усіх даних)
  • Testing set: для оцінювання якості моделі
Аналіз тональності в Python

Train/test у 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 : ознаки
  • y : мітки
  • test_size: частка даних для тесту
  • random_state: зерно генератора для відтворюваного поділу
  • stratify: зберігає ті самі пропорції класів, що й у параметрі
Аналіз тональності в Python

Логістична регресія з train/test split

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
Аналіз тональності в Python

Accuracy з train/test split

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
Аналіз тональності в Python

Матриця похибок

приклад матриці похибок для бінарної класифікації

Аналіз тональності в Python

Матриця похибок у 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]]
Аналіз тональності в Python

Давайте потренуємось!

Аналіз тональності в Python

Preparing Video For Download...