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
Instrucciones de ejercicio
- Guarda las etiquetas de clase como
class_labels
accediendo al atributo.classes_
denb_classifier
. - Extrae las características utilizando el método
.get_feature_names()
detfidf_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 argumentosnb_classifier.coef_[0]
yfeature_names
. A continuación, utilizasorted()
. - 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 declass_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:])