CountVectorizer para classificação de texto

É hora de você começar a criar seu classificador de texto! Os dados foram carregados em um DataFrame chamado df. Explore-o no Shell IPython para investigar quais colunas você pode usar. O método .head() é particularmente informativo.

Neste exercício, você usará o site pandas junto com o scikit-learn para criar um vetorizador de texto esparso que possa ser usado para treinar e testar um modelo supervisionado simples. Para começar, você configurará um CountVectorizer e investigará alguns de seus recursos.

Este exercício faz parte do curso

Introdução ao processamento de linguagem natural em Python

Ver Curso

Instruções de exercício

  • Importe CountVectorizer de sklearn.feature_extraction.text e train_test_split de sklearn.model_selection.
  • Crie uma série y para usar nos rótulos, atribuindo o atributo .label de df a y.
  • Usando df["text"] (recursos) e y (rótulos), crie conjuntos de treinamento e teste usando train_test_split(). Use um test_size de 0.33 e um random_state de 53.
  • Crie um objeto CountVectorizer chamado count_vectorizer. Certifique-se de que você especifique o argumento da palavra-chave stop_words="english" para que as palavras de parada sejam removidas.
  • Ajuste e transforme os dados de treinamento X_train usando o método .fit_transform() do seu objeto CountVectorizer. Faça o mesmo com os dados de teste X_test, só que usando o método .transform().
  • Imprima os 10 primeiros recursos do site count_vectorizer usando seu método .get_feature_names().

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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])