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 del ejercicio
- Guarda las etiquetas de clase como
class_labelsaccediendo 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_labelse 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
Prueba este ejercicio y completa el 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:])