Ver fuente en GitHub

Calcula la matriz de confusión a partir de predicciones y etiquetas.

tf.math.confusion_matrix(
    labels, predictions, num_classes=None, weights=None, dtype=tf.dtypes.int32,
    name=None
)

Las columnas de la matriz representan las etiquetas de predicción y las filas representan las etiquetas reales. La matriz de confusión es siempre un 2-D array de forma [n, n]donde n es el número de etiquetas válidas para una tarea de clasificación determinada. Tanto la predicción como las etiquetas deben ser matrices 1-D de la misma forma para que esta función funcione.

Si num_classes es Noneentonces num_classes se establecerá en uno más el valor máximo en predicciones o etiquetas. Se espera que las etiquetas de clase comiencen en 0. Por ejemplo, si num_classes es 3, entonces las posibles etiquetas serían [0, 1, 2].

Si weights no es Noneentonces cada predicción aporta su peso correspondiente al valor total de la celda de la matriz de confusión.

Por ejemplo:

tf.math.confusion_matrix([1, 2, 4], [2, 2, 4]) ==>
    [[0 0 0 0 0]
     [0 0 1 0 0]
     [0 0 1 0 0]
     [0 0 0 0 0]
     [0 0 0 0 1]]

Tenga en cuenta que se supone que las posibles etiquetas son [0, 1, 2, 3, 4]resultando en una matriz de confusión de 5×5.

argumentos
labels 1-D Tensor de etiquetas reales para la tarea de clasificación.
predictions 1-D Tensor de predicciones para una clasificación dada.
num_classes El número posible de etiquetas que puede tener la tarea de clasificación. Si no se proporciona este valor, se calculará mediante predicciones y etiquetas. array.
weights un opcional Tensor cuya forma coincide predictions.
dtype Tipo de dato de la matriz de confusión.
name Nombre del alcance.
Devoluciones
UN Tensor de tipo dtype con forma [n, n] representando la matriz de confusión, donde n es el número de etiquetas posibles en la tarea de clasificación.
aumenta
ValueError Si tanto las predicciones como las etiquetas no son vectores 1-D y tienen formas que no coinciden, o si weights no es None y su forma no coincide predictions.