Насколько точно мы предсказали тональность?

Анализ тональности текста на Python

Violeta Misheva

Data Scientist

Разбивка на обучающую и тестовую выборки

общее число наблюдений, разделённых на обучающую и тестовую выборки, где обучающая выборка больше

  • Обучающая выборка: используется для обучения модели (70–80% всех данных)
  • Тестовая выборка: используется для оценки качества модели
Анализ тональности текста на Python

Разбивка на выборки в 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

Логистическая регрессия с разбивкой на выборки

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

Точность с разбивкой на выборки

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...