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
Instrucciones de ejercicio
- Importa
CountVectorizer
desklearn.feature_extraction.text
ytrain_test_split
desklearn.model_selection
. - Crea una serie
y
para utilizarla en las etiquetas asignando el atributo.label
dedf
ay
. - Utilizando
df["text"]
(características) yy
(etiquetas), crea conjuntos de entrenamiento y de prueba utilizandotrain_test_split()
. Utiliza untest_size
de0.33
y unrandom_state
de53
. - Crea un objeto
CountVectorizer
llamadocount_vectorizer
. Asegúrate de especificar el argumento de palabra clavestop_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 objetoCountVectorizer
. Haz lo mismo con los datos de pruebaX_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])