Aprimorando seu modelo

Sua tarefa neste exercício é testar alguns níveis diferentes de alfa usando os vetores Tfidf para determinar se há uma combinação com melhor desempenho.

Os conjuntos de treinamento e teste foram criados, e tfidf_vectorizer, tfidf_train e tfidf_test foram computados.

Este exercício faz parte do curso

Introdução ao processamento de linguagem natural em Python

Ver Curso

Instruções de exercício

  • Crie uma lista de alfas para você experimentar usando np.arange(). Os valores devem variar de 0 a 1 com etapas de 0.1.

  • Crie uma função train_and_predict() que receba um argumento: alpha. A função deve:

    • Instanciar um classificador MultinomialNB com alpha=alpha.

    • Ajuste-o aos dados de treinamento.

    • Calcule as previsões nos dados de teste.

    • Calcule e retorne a pontuação de precisão.

  • Usando um loop for, imprima os endereços alpha, score e uma nova linha entre eles. Use sua função train_and_predict() para calcular o score. A pontuação muda junto com o alfa? Qual é o melhor alfa?

Exercício interativo prático

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

# Create the list of alphas: alphas
alphas = ____

# Define train_and_predict()
def ____(____):
    # Instantiate the classifier: nb_classifier
    nb_classifier = ____
    # Fit to the training data
    ____
    # Predict the labels: pred
    pred = ____
    # Compute accuracy: score
    score = ____
    return score

# Iterate over the alphas and print the corresponding score
for alpha in alphas:
    print('Alpha: ', alpha)
    print('Score: ', ____)
    print()