keras.utils.to_categorical()如何支持多个值?

发布于 2025-01-23 10:34:38 字数 208 浏览 0 评论 0原文

我知道keras.utils.to_categorical()可用于单速编码,如“转换2 - >>> [0。,0。,1。,0。],但是是否有可能具有类似的输出? 2,3 - > [0。,0。,1。,1。] 如果是这样,请如何?

I know that keras.utils.to_categorical() can be used for one-hot encoding, as in the exmaple of the transformation 2 -> [0., 0., 1., 0.] but is it possible to have an output similar to this? 2, 3 -> [0., 0., 1., 1.]
And if so, how please?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥抱我好吗 2025-01-30 10:34:38

您可以使用以下内容来执行此操作:

layer = tf.keras.layers.CategoryEncoding(output_mode="multi_hot", num_tokens=4)

[nav] In [50]: layer([[2,3]])                                                                                                                                               
Out[50]: <tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[0., 0., 1., 1.]], dtype=float32)>   

在该过程中使用tf.keras.utils.to_categorical来计算分类交叉熵,这是二进制分类的损失函数。另请注意,您需要弄清楚您拥有的令牌数量,在这里我假设4涵盖您的[2,3]方案。在这种情况下,编码器可以编码[0、1、2、3],您可以将其传递任何长度的样本,它将它们编码为[0 | 1,0 | 1,0 | 1,0 | 1,0 | 1]。

You can do this using the following:

layer = tf.keras.layers.CategoryEncoding(output_mode="multi_hot", num_tokens=4)

[nav] In [50]: layer([[2,3]])                                                                                                                                               
Out[50]: <tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[0., 0., 1., 1.]], dtype=float32)>   

tf.keras.utils.to_categorical is used in the process to calculate categorical cross entropy, a loss function for binary classification. Also note that you'll need to figure out the number of tokens you have, here I am assuming 4 to cover your [2, 3] scenario. In this case, the encoder can encode [0, 1, 2, 3], you can pass it samples of any length, it will encode them to [0|1, 0|1, 0|1, 0|1].

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文