Menu iconMenu icon
NLP con Transformadores: Fundamentos y Aplicaciones Básicas

Proyecto 2: Clasificación de Noticias Usando BERT

7. Paso 4: Evaluación del Modelo

Una vez que el modelo está entrenado, evalúe su rendimiento en el conjunto de pruebas utilizando métricas como la precisión y la puntuación F1.

from sklearn.metrics import classification_report

# Predict on the evaluation set
predictions = trainer.predict(eval_dataset)

# Convert predictions to labels
predicted_labels = predictions.predictions.argmax(-1)

# Print classification report
print(classification_report(eval_dataset['label'], predicted_labels))

Desglose del código:

  1. Primero, importamos el classification_report del módulo metrics de scikit-learn, que nos ayudará a generar un análisis detallado del rendimiento.
  2. El código realiza estos pasos clave:
  • Utiliza trainer.predict() para generar predicciones para el conjunto de evaluación
  • Convierte las predicciones brutas en índices de etiquetas usando argmax(-1), que selecciona la categoría con la puntuación de probabilidad más alta
  • Genera un informe de clasificación completo comparando las etiquetas predichas con las etiquetas reales en eval_dataset

El classification_report proporcionará métricas importantes incluyendo:

  • Precisión: La exactitud de las predicciones positivas
  • Exhaustividad: La proporción de positivos reales correctamente identificados
  • Puntuación F1: La media armónica entre precisión y exhaustividad
  • Soporte: El número de muestras para cada categoría

Este paso de evaluación es crucial para entender qué tan bien funciona tu modelo en las diferentes categorías de noticias, que en este caso incluye Mundial, Deportes, Negocios y Ciencia/Tecnología.

7. Paso 4: Evaluación del Modelo

Una vez que el modelo está entrenado, evalúe su rendimiento en el conjunto de pruebas utilizando métricas como la precisión y la puntuación F1.

from sklearn.metrics import classification_report

# Predict on the evaluation set
predictions = trainer.predict(eval_dataset)

# Convert predictions to labels
predicted_labels = predictions.predictions.argmax(-1)

# Print classification report
print(classification_report(eval_dataset['label'], predicted_labels))

Desglose del código:

  1. Primero, importamos el classification_report del módulo metrics de scikit-learn, que nos ayudará a generar un análisis detallado del rendimiento.
  2. El código realiza estos pasos clave:
  • Utiliza trainer.predict() para generar predicciones para el conjunto de evaluación
  • Convierte las predicciones brutas en índices de etiquetas usando argmax(-1), que selecciona la categoría con la puntuación de probabilidad más alta
  • Genera un informe de clasificación completo comparando las etiquetas predichas con las etiquetas reales en eval_dataset

El classification_report proporcionará métricas importantes incluyendo:

  • Precisión: La exactitud de las predicciones positivas
  • Exhaustividad: La proporción de positivos reales correctamente identificados
  • Puntuación F1: La media armónica entre precisión y exhaustividad
  • Soporte: El número de muestras para cada categoría

Este paso de evaluación es crucial para entender qué tan bien funciona tu modelo en las diferentes categorías de noticias, que en este caso incluye Mundial, Deportes, Negocios y Ciencia/Tecnología.

7. Paso 4: Evaluación del Modelo

Una vez que el modelo está entrenado, evalúe su rendimiento en el conjunto de pruebas utilizando métricas como la precisión y la puntuación F1.

from sklearn.metrics import classification_report

# Predict on the evaluation set
predictions = trainer.predict(eval_dataset)

# Convert predictions to labels
predicted_labels = predictions.predictions.argmax(-1)

# Print classification report
print(classification_report(eval_dataset['label'], predicted_labels))

Desglose del código:

  1. Primero, importamos el classification_report del módulo metrics de scikit-learn, que nos ayudará a generar un análisis detallado del rendimiento.
  2. El código realiza estos pasos clave:
  • Utiliza trainer.predict() para generar predicciones para el conjunto de evaluación
  • Convierte las predicciones brutas en índices de etiquetas usando argmax(-1), que selecciona la categoría con la puntuación de probabilidad más alta
  • Genera un informe de clasificación completo comparando las etiquetas predichas con las etiquetas reales en eval_dataset

El classification_report proporcionará métricas importantes incluyendo:

  • Precisión: La exactitud de las predicciones positivas
  • Exhaustividad: La proporción de positivos reales correctamente identificados
  • Puntuación F1: La media armónica entre precisión y exhaustividad
  • Soporte: El número de muestras para cada categoría

Este paso de evaluación es crucial para entender qué tan bien funciona tu modelo en las diferentes categorías de noticias, que en este caso incluye Mundial, Deportes, Negocios y Ciencia/Tecnología.

7. Paso 4: Evaluación del Modelo

Una vez que el modelo está entrenado, evalúe su rendimiento en el conjunto de pruebas utilizando métricas como la precisión y la puntuación F1.

from sklearn.metrics import classification_report

# Predict on the evaluation set
predictions = trainer.predict(eval_dataset)

# Convert predictions to labels
predicted_labels = predictions.predictions.argmax(-1)

# Print classification report
print(classification_report(eval_dataset['label'], predicted_labels))

Desglose del código:

  1. Primero, importamos el classification_report del módulo metrics de scikit-learn, que nos ayudará a generar un análisis detallado del rendimiento.
  2. El código realiza estos pasos clave:
  • Utiliza trainer.predict() para generar predicciones para el conjunto de evaluación
  • Convierte las predicciones brutas en índices de etiquetas usando argmax(-1), que selecciona la categoría con la puntuación de probabilidad más alta
  • Genera un informe de clasificación completo comparando las etiquetas predichas con las etiquetas reales en eval_dataset

El classification_report proporcionará métricas importantes incluyendo:

  • Precisión: La exactitud de las predicciones positivas
  • Exhaustividad: La proporción de positivos reales correctamente identificados
  • Puntuación F1: La media armónica entre precisión y exhaustividad
  • Soporte: El número de muestras para cada categoría

Este paso de evaluación es crucial para entender qué tan bien funciona tu modelo en las diferentes categorías de noticias, que en este caso incluye Mundial, Deportes, Negocios y Ciencia/Tecnología.