Tensorflow Macro F1 Score for multiclass and also for binary



我正在尝试训练2个1D卷积神经网络-一个用于多类分类问题,另一个用于二元分类问题。对于这两个问题,我的指标之一是Macro F1得分。然而,我有一个问题使用tfa.metrics.F1Score从tensorflow插件。

<标题>

多级分类我有3个类编码为0,1,2。

网络的最后一层和编译方法是这样的(int_sequeces_input是输入层):
preds = layers.Dense(3, activation="softmax")(x)
model = keras.Model(int_sequences_input, preds)

f1_macro = F1Score(num_classes=3, average='macro')
model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy',f1_macro])

然而,当我运行model.fit()时,我得到以下错误:

ValueError: Dimension 0 in both shapes must be equal, but are 3 and 1. Shapes are [3] and [1]. for '{{node AssignAddVariableOp_7}} = AssignAddVariableOp[dtype=DT_FLOAT](AssignAddVariableOp_7/resource, Sum_6)' with input shapes: [], [1].

数据的形状:

X_train - (23658, 150)

y_train - (23658,)

<标题>

二元分类我有两个类编码为0,1

网络的最后一层和编译方法看起来像这样(int_sequeces_input是输入层):

preds = layers.Dense(1, activation="sigmoid")(x)
model = keras.Model(int_sequences_input, preds)
print(model.summary())
f1_macro = F1Score(num_classes=2, average='macro')
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy',f1_macro])

再次,当我运行model.fit()时,我得到错误:

ValueError: Dimension 0 in both shapes must be equal, but are 2 and 1. Shapes are [2] and [1]. for '{{node AssignAddVariableOp_4}} = AssignAddVariableOp[dtype=DT_FLOAT](AssignAddVariableOp_4/resource, Sum_3)' with input shapes: [], [1].

数据的形状:

X_train - (15770,150)

y_train - (15770,)

所以我的问题是:如何使用宏观F1分数来评估我的两个模型?我如何修复我的实现,使其与tfa.metrics.F1Score工作?或者有没有其他方法来计算宏F1得分不使用tfa.metrics.F1Score?谢谢。

查看其文档页面中的使用示例。

metric = tfa.metrics.F1Score(num_classes=3, threshold=0.5)
y_true = np.array([[1, 1, 1],
[1, 0, 0],
[1, 1, 0]], np.int32)
y_pred = np.array([[0.2, 0.6, 0.7],
[0.2, 0.6, 0.6],
[0.6, 0.8, 0.0]], np.float32)
metric.update_state(y_true, y_pred)

您可以看到它期望标签是one-hot格式。

但是考虑到你上面提到的形状:

shapes of data:
X_train - (23658, 150)
y_train - (23658,)

看起来你的标签是索引格式的。尝试用tf.one_hot(y_train, num_classes)将它们转换为一个热点。您还需要将loss更改为loss='categorical_crossentropy'

相关内容

  • 没有找到相关文章

最新更新