tf.keras.utils.to_categorical
Stay organized with collections
Save and categorize content based on your preferences.
Converts a class vector (integers) to binary class matrix.
tf.keras.utils.to_categorical(
x, num_classes=None
)
Used in the notebooks
E.g. for use with categorical_crossentropy
.
Args |
x
|
Array-like with class values to be converted into a matrix
(integers from 0 to num_classes - 1 ).
|
num_classes
|
Total number of classes. If None , this would be inferred
as max(x) + 1 . Defaults to None .
|
Returns |
A binary matrix representation of the input as a NumPy array. The class
axis is placed last.
|
Example:
a = keras.utils.to_categorical([0, 1, 2, 3], num_classes=4)
print(a)
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
b = np.array([.9, .04, .03, .03,
.3, .45, .15, .13,
.04, .01, .94, .05,
.12, .21, .5, .17],
shape=[4, 4])
loss = keras.ops.categorical_crossentropy(a, b)
print(np.around(loss, 5))
[0.10536 0.82807 0.1011 1.77196]
loss = keras.ops.categorical_crossentropy(a, a)
print(np.around(loss, 5))
[0. 0. 0. 0.]
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-06-07 UTC.
[null,null,["Last updated 2024-06-07 UTC."],[],[],null,["# tf.keras.utils.to_categorical\n\n\u003cbr /\u003e\n\n|---------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/keras-team/keras/tree/v3.3.3/keras/src/utils/numerical_utils.py#L37-L92) |\n\nConverts a class vector (integers) to binary class matrix. \n\n tf.keras.utils.to_categorical(\n x, num_classes=None\n )\n\n### Used in the notebooks\n\n| Used in the tutorials |\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - [Implement Differential Privacy with TensorFlow Privacy](https://www.tensorflow.org/responsible_ai/privacy/tutorials/classification_privacy) - [Assess privacy risks with the TensorFlow Privacy Report](https://www.tensorflow.org/responsible_ai/privacy/tutorials/privacy_report) - [On-Device Training with TensorFlow Lite](https://www.tensorflow.org/lite/examples/on_device_training/overview) - [Human Pose Classification with MoveNet and TensorFlow Lite](https://www.tensorflow.org/lite/tutorials/pose_classification) - [Classifying CIFAR-10 with XLA](https://www.tensorflow.org/xla/tf2xla/tutorials/autoclustering_xla) |\n\nE.g. for use with `categorical_crossentropy`.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------------|----------------------------------------------------------------------------------------------------|\n| `x` | Array-like with class values to be converted into a matrix (integers from 0 to `num_classes - 1`). |\n| `num_classes` | Total number of classes. If `None`, this would be inferred as `max(x) + 1`. Defaults to `None`. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A binary matrix representation of the input as a NumPy array. The class axis is placed last. ||\n\n\u003cbr /\u003e\n\n#### Example:\n\n a = keras.utils.to_categorical([0, 1, 2, 3], num_classes=4)\n print(a)\n [[1. 0. 0. 0.]\n [0. 1. 0. 0.]\n [0. 0. 1. 0.]\n [0. 0. 0. 1.]]\n\n b = np.array([.9, .04, .03, .03,\n .3, .45, .15, .13,\n .04, .01, .94, .05,\n .12, .21, .5, .17],\n shape=[4, 4])\n loss = keras.ops.categorical_crossentropy(a, b)\n print(np.around(loss, 5))\n [0.10536 0.82807 0.1011 1.77196]\n\n loss = keras.ops.categorical_crossentropy(a, a)\n print(np.around(loss, 5))\n [0. 0. 0. 0.]"]]