CountVectorizer para clasificación de texto
¡Es hora de empezar a construir tu clasificador de texto! Los datos se han cargado en un DataFrame llamado df. Explóralo en la Shell de IPython para ver qué columnas puedes usar. El método .head() es especialmente útil.
En este ejercicio, usarás pandas junto con scikit-learn para crear un vectorizador de texto disperso que podrás usar para entrenar y probar un modelo supervisado sencillo. Para comenzar, configurarás un CountVectorizer y examinarás algunas de sus características.
Este ejercicio forma parte del curso
Introducción al Natural Language Processing en Python
Instrucciones del ejercicio
- Importa
CountVectorizerdesklearn.feature_extraction.textytrain_test_splitdesklearn.model_selection. - Crea una Serie
ypara las etiquetas asignando el atributo.labeldedfay. - Usando
df["text"](características) yy(etiquetas), crea los conjuntos de entrenamiento y prueba contrain_test_split(). Usa untest_sizede0.33y unrandom_statede53. - Crea un objeto
CountVectorizerllamadocount_vectorizer. Asegúrate de especificar el argumento con nombrestop_words="english"para eliminar las stop words. - Ajusta y transforma los datos de entrenamiento
X_trainusando el método.fit_transform()de tu objetoCountVectorizer. Haz lo mismo con los datos de pruebaX_test, pero usando el método.transform(). - Imprime las 10 primeras características de
count_vectorizerusando su método.get_feature_names().
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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])