CountVectorizer pour la classification de textes
Il est temps de commencer à construire votre classificateur de texte ! Les données ont été chargées dans un DataFrame appelé df. Explorez-le dans le shell IPython pour étudier les colonnes que vous pouvez utiliser. La méthode .head() est particulièrement instructive.
Dans cet exercice, vous utiliserez pandas avec scikit-learn pour créer un vecteur de texte peu dense que vous pourrez utiliser pour former et tester un modèle supervisé simple. Pour commencer, vous allez configurer un site CountVectorizer et étudier certaines de ses fonctions.
Cet exercice fait partie du cours
Introduction au traitement du langage naturel en Python
Instructions
- Importez
CountVectorizerà partir desklearn.feature_extraction.textettrain_test_splità partir desklearn.model_selection. - Créez une série
yà utiliser pour les étiquettes en attribuant l'attribut.labeldedfày. - En utilisant
df["text"](caractéristiques) ety(étiquettes), créez des ensembles de formation et de test à l'aide detrain_test_split(). Utilisez untest_sizede0.33et unrandom_statede53. - Créez un objet
CountVectorizerappelécount_vectorizer. Veillez à spécifier le mot-cléstop_words="english"pour que les mots vides soient supprimés. - Ajustez et transformez les données d'apprentissage
X_trainen utilisant la méthode.fit_transform()de votre objetCountVectorizer. Faites de même avec les données de testX_test, mais en utilisant la méthode.transform(). - Imprimez les 10 premières caractéristiques du site
count_vectorizerà l'aide de la méthode.get_feature_names().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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])