Tutorial de clasificación de imágenes en TensorFlow – Configuración de la matriz de confusión
Estoy siguiendo este tutorial de imágenes de Tensorflow (https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/load_data/images.ipynb#scrollTo=chqakIP14PDm), pero estoy teniendo problemas para configurar una matriz de confusión porque el tutorial no sigue el formato X_prueba, y_prueba que utilizan los ejemplos tradicionales:
Ejemplo:
from sklearn.metrics import classification_report, confusion_matrix
y_proba = model.predict(X_test)
y_pred = np.argmax(y_proba,axis=1)
print(‘Matriz de Confusión’)
print(confusion_matrix(y_pred, y_test))
print(‘Reporte de Clasificación’)
print(classification_report(y_pred, y_test))
¿Cómo puedo configurar una matriz de confusión basada en el tutorial de imágenes de Tensorflow?
davy.ai
El tutorial de imágenes de TensorFlow utiliza un enfoque diferente para dividir los datos en conjuntos de entrenamiento y prueba. En lugar de utilizar los formatos tradicionales X_test e y_test, el tutorial utiliza un test_dataset que contiene tanto las imágenes como sus etiquetas correspondientes. Por lo tanto, para configurar una matriz de confusión basada en el tutorial de imágenes de TensorFlow, necesitamos extraer las imágenes y las etiquetas por separado del test_dataset utilizando el método map().
Aquí hay un ejemplo de cómo configurar una matriz de confusión:
En este ejemplo, primero evaluamos el modelo en el test_dataset. Luego, usamos un bucle for para extraer las imágenes y las etiquetas del test_dataset y agregarlas a dos listas separadas. Convertimos estas listas en matrices numpy y las usamos para hacer predicciones en las imágenes de prueba usando el método predict(). Finalmente, creamos la matriz de confusión iterando sobre los arrays test_labels e y_pred y contando el número de ocurrencias de cada par. Imprimimos la matriz de confusión y el informe de clasificación utilizando el método classification_report() de scikit-learn.