tf.keras.utils.to_categorical
Преобразует вектор классов (целые числа) в бинарную матрицу классов.
tf.keras.utils.to_categorical(
y, num_classes=None, dtype='float32'
)
Например, для использования с categorical_crossentropy.
| Аргументы |
y | вектор классов, который нужно преобразовать в матрицу (целые числа от 0 до num_classes). |
num_classes | общее количество классов. Если None, это будет определено как (наибольшее число в y) + 1. |
dtype | Тип данных, ожидаемый на входе. По умолчанию: 'float32'. |
| Возвращает |
| Бинарное матричное представление входных данных. Ось классов расположена последней. |
Пример:
a = tf.keras.utils.to_categorical([0, 1, 2, 3], num_classes=4)
a = tf.constant(a, shape=[4, 4])
print(a)
tf.Tensor(
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]], shape=(4, 4), dtype=float32)
b = tf.constant([.9, .04, .03, .03,
.3, .45, .15, .13,
.04, .01, .94, .05,
.12, .21, .5, .17],
shape=[4, 4])
loss = tf.keras.backend.categorical_crossentropy(a, b)
print(np.around(loss, 5))
[0.10536 0.82807 0.1011 1.77196]
loss = tf.keras.backend.categorical_crossentropy(a, a)
print(np.around(loss, 5))
[0. 0. 0. 0.]
| Возможные исключения |
| Ошибка значения: Если входные данные содержат строковое значение |