Tensorflow 在tf.keras.metrics.Recall中使用SHADS参数

Tensorflow 在tf.keras.metrics.Recall中使用SHADS参数,tensorflow,keras,precision-recall,Tensorflow,Keras,Precision Recall,我想知道当指定多个阈值时,如何计算召回率。 下面是中的描述片段 阈值:(可选)浮点值或[0,1]中浮点阈值的python列表/元组。将阈值与预测值进行比较,以确定预测的真值(即,高于阈值为真,低于阈值为假)。为每个阈值生成一个度量值。如果既没有设置阈值也没有设置top_k,则默认情况下计算召回率,阈值=0.5 我试图传递一个包含3个阈值的列表,根据描述,我预期将生成3个召回值(即每个阈值一个召回),但它不以这种方式工作,只生成1个召回度量 import tensorflow as tf from

我想知道当指定多个阈值时,如何计算召回率。 下面是中的描述片段

阈值:(可选)浮点值或[0,1]中浮点阈值的python列表/元组。将阈值与预测值进行比较,以确定预测的真值(即,高于阈值为真,低于阈值为假)。为每个阈值生成一个度量值。如果既没有设置阈值也没有设置top_k,则默认情况下计算召回率,阈值=0.5

我试图传递一个包含3个阈值的列表,根据描述,我预期将生成3个召回值(即每个阈值一个召回),但它不以这种方式工作,只生成1个召回度量

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding,Flatten,Dense
from tensorflow.keras.layers import LSTM
from tensorflow.keras.layers import Bidirectional
from tensorflow.keras.layers import Dropout
from tensorflow.keras import layers
model=Sequential()
model.add(Embedding(len(tokens)+1,embedding_dim,input_length=MAX_TEXT_LEN,weights=[embedding_matrix]))
model.add(LSTM(128))
model.add(Dropout(0.5))
model.add(Dense(9,activation='sigmoid'))
opt=tf.keras.optimizers.Adam(lr=0.0001)
model.compile(loss='binary_crossentropy', optimizer=opt, metrics=[tf.keras.metrics.Recall(thresholds=[0.2,0.4,0.8]))

你能添加最小可复制代码吗?我试图理解tf.keras.metrics.Recall的行为,阈值参数包含多个值,因此这里没有可复制的内容。你是对的。我只是想复制和粘贴代码并在IDE中进行分析。我想要那里面的密码sense@eugen粘贴了一个示例代码,不确定它会有多大帮助。这是一个多标签分类问题。你能添加最小可复制代码吗?我试图了解tf.keras.metrics.Recall的行为,阈值参数包含多个值,因此这里没有可复制的内容。你是对的。我只是想复制和粘贴代码并在IDE中进行分析。我想要那里面的密码sense@eugen粘贴了一个示例代码,不确定它会有多大帮助。这是一个多标签分类问题。