Inspección de tu modelo

Ahora que has construido un clasificador de "noticias falsas", investigarás lo que ha aprendido. Puedes volver a asignar los pesos vectoriales importantes a palabras reales utilizando algunas técnicas sencillas de inspección.

Tienes tu clasificador Naive Bayes tfidf de buen rendimiento disponible como nb_classifier, y los vectores como tfidf_vectorizer.

Este ejercicio forma parte del curso

Introducción al procesamiento de lenguaje natural en Python

Ver curso

Instrucciones de ejercicio

  • Guarda las etiquetas de clase como class_labels accediendo al atributo .classes_ de nb_classifier.
  • Extrae las características utilizando el método .get_feature_names() de tfidf_vectorizer.
  • Crea una matriz comprimida de los coeficientes del clasificador con los nombres de las características y ordénalos por los coeficientes. Para ello, utiliza primero zip() con los argumentos nb_classifier.coef_[0] y feature_names. A continuación, utiliza sorted().
  • Imprime las 20 características ponderadas más importantes para la primera etiqueta de class_labels e imprime las 20 características ponderadas más importantes para la segunda etiqueta de class_labels. Esto se ha hecho por ti.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Get the class labels: class_labels
class_labels = ____

# Extract the features: feature_names
feature_names = ____

# Zip the feature names together with the coefficient array and sort by weights: feat_with_weights
feat_with_weights = ____(____(____, ____))

# Print the first class label and the top 20 feat_with_weights entries
print(class_labels[0], feat_with_weights[:20])

# Print the second class label and the bottom 20 feat_with_weights entries
print(class_labels[1], feat_with_weights[-20:])