CountVectorizer para la clasificación de textos

¡Es hora de empezar a construir tu clasificador de texto! Los datos se han cargado en un DataFrame llamado df. Explóralo en IPython Shell para investigar qué columnas puedes utilizar. El método .head() es especialmente informativo.

En este ejercicio, utilizarás pandas junto con scikit-learn para crear un vectorizador de texto disperso que puedas utilizar para entrenar y probar un modelo supervisado sencillo. Para empezar, configurarás un CountVectorizer e investigarás algunas de sus funciones.

Este ejercicio forma parte del curso

Introducción al procesamiento de lenguaje natural en Python

Ver curso

Instrucciones de ejercicio

  • Importa CountVectorizer de sklearn.feature_extraction.text y train_test_split de sklearn.model_selection.
  • Crea una serie y para utilizarla en las etiquetas asignando el atributo .label de df a y.
  • Utilizando df["text"] (características) y y (etiquetas), crea conjuntos de entrenamiento y de prueba utilizando train_test_split(). Utiliza un test_size de 0.33 y un random_state de 53.
  • Crea un objeto CountVectorizer llamado count_vectorizer. Asegúrate de especificar el argumento de palabra clave stop_words="english" para que se eliminen las palabras de parada.
  • Ajusta y transforma los datos de entrenamiento X_train utilizando el método .fit_transform() de tu objeto CountVectorizer. Haz lo mismo con los datos de prueba X_test, pero utilizando el método .transform().
  • Imprime las 10 primeras características del count_vectorizer utilizando su método .get_feature_names().

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Import the necessary modules
____
____

# Print the head of df
print(df.head())

# Create a series to store the labels: y
y = ____

# Create training and test sets
X_train, X_test, y_train, y_test = ____

# Initialize a CountVectorizer object: count_vectorizer
count_vectorizer = ____

# Transform the training data using only the 'text' column values: count_train 
count_train = ____

# Transform the test data using only the 'text' column values: count_test 
count_test = ____

# Print the first 10 features of the count_vectorizer
print(____[:10])