Métricas de rendimiento con datos de Twitter
Vas a entrenar un modelo de regresión logística que predice el sentimiento de tuits y a evaluar su rendimiento en el conjunto de prueba usando distintas métricas.
Ya tienes creada una matriz X. Contiene características generadas con un BOW sobre la columna text.
Las etiquetas están en un vector llamado y. El vector y vale 0 para tuits negativos, 1 para neutros y 2 para positivos.
Ten en cuenta que, aunque hay 3 clases, sigue siendo un problema de clasificación. La accuracy sigue midiendo la proporción de instancias correctamente predichas. La matriz de confusión ahora será de tamaño 3x3: cada fila dará el número de casos predichos para las clases 2, 1 y 0, y cada columna el número real de casos en las clases 2, 1 y 0.
Todos los paquetes necesarios ya se han importado por ti.
Este ejercicio forma parte del curso
Sentiment Analysis in Python
Instrucciones del ejercicio
- Realiza la división train/test y estratifica por
y. - Entrena un clasificador de regresión logística.
- Predice el rendimiento en el conjunto de prueba.
- Imprime la accuracy y la matriz de confusión obtenidas en el conjunto de prueba.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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))