如何仅针对 1 调整精度?

how to adjust accuracy only for 1's?

假设我有这样的数据:

x1      x2     x3       y
0.85   0.95   0.22      1
0.35   0.26   0.42      0
0.89   0.82   0.82      1
0.36   0.14   0.32      0
0.44   0.53   0.82      1
0.75   0.78   0.52      1

我预测二进制分类,但唯一重要的是 1 的正确预测,如果预测为 0,则不会影响我的准确性。

我只是使用了以下代码:

model.compile(optimizer=keras.optimizers.Adam(learning_rate=0.001),
              loss='binary_crossentropy',
              metrics=['accuracy'])

但是此代码的准确性也包括零。

如何将只有 1 的预测重要的网络应用到网络中?

换句话说,在拟合模型期间,如果预测为零,则此零预测不适用于模型精度。

看起来你很关心模型的 precision。精度意味着对于你预测为 1 的所有实例,它们中的哪一部分是正确的。

如果是,请使用 tf.keras.metrics.Precision() 作为指标。

model.compile(optimizer=keras.optimizers.Adam(learning_rate=0.001),
    loss='binary_crossentropy',
    metrics=[tf.keras.metrics.Precision()])