Оцінювання якості на даних із Twitter
Ви натренуєте модель логістичної регресії для передбачення сентименту твітів і оціните її якість на тестовій вибірці за різними метриками.
Для вас створено матрицю X. Вона містить ознаки, сформовані методом BOW зі стовпця text.
Мітки збережено у векторі y. Значення y: 0 — негативні твіти, 1 — нейтральні, 2 — позитивні.
Зверніть увагу: хоча маємо 3 класи, це все одно задача класифікації. Точність і далі вимірює частку правильно передбачених прикладів. Матриця неточностей тепер матиме розмір 3x3: кожен рядок показує кількість передбачених випадків для класів 2, 1 і 0, а кожен стовпець — справжню кількість випадків у класах 2, 1 і 0.
Усі потрібні пакети вже імпортовано.
Ця вправа є частиною курсу
Аналіз тональності в Python
Інструкції до вправи
- Виконайте поділ на train/test і стратифікуйте за
y. - Натренуйте класифікатор логістичної регресії.
- Здійсніть передбачення для тестової вибірки.
- Виведіть значення accuracy та матрицю неточностей, отримані на тестовій вибірці.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = ____(X, y, test_size=0.3, random_state=123, ____=y)
# Train a logistic regression
log_reg = ____.____(___, ____)
# Make predictions on the test set
y_predicted = log_reg.____(___)
# Print the performance metrics
print('Accuracy score test set: ', ____(y_test, y_predicted))
print('Confusion matrix test set: \n', ____(y_test, y_predicted)/len(y_test))