Mejora de tu modelo

Tu trabajo en este ejercicio consiste en probar unos cuantos niveles alfa diferentes utilizando los vectores Tfidf para determinar si hay una combinación que funcione mejor.

Se han creado los conjuntos de entrenamiento y de prueba, y se han calculado tfidf_vectorizer, tfidf_train y tfidf_test.

Este ejercicio forma parte del curso

Introducción al procesamiento de lenguaje natural en Python

Ver curso

Instrucciones de ejercicio

  • Crea una lista de alfas para probar utilizando np.arange(). Los valores deben oscilar entre 0 y 1 con pasos de 0.1.

  • Crea una función train_and_predict() que reciba un argumento: alpha. La función debe:

    • Instanciar un clasificador MultinomialNB con alpha=alpha.

    • Ajústalo a los datos de entrenamiento.

    • Calcula predicciones sobre los datos de prueba.

    • Calcula y devuelve la puntuación de precisión.

  • Utilizando un bucle for, imprime alpha, score y una nueva línea entre medias. Utiliza tu función train_and_predict() para calcular la score. ¿Cambia la puntuación junto con el alfa? ¿Cuál es el mejor alfa?

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

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