使用 Keras 序列模型预测来获得类标签,我们可以做
yhat_classes1 = Keras_model.predict_classes(predictors)[:, 0] #this shows deprecated warning in tf==2.3.0
WARNING:tensorflow:From <ipython-input-54-226ad21ffae4>:1: Sequential.predict_classes (from tensorflow.python.keras.engine.sequential) is deprecated and will be removed after 2021-01-01.
Instructions for updating:
Please use instead:* `np.argmax(model.predict(x), axis=-1)`, if your model does multi-class classification (e.g. if it uses a `softmax` last-layer activation).* `(model.predict(x) > 0.5).astype("int32")`, if your model does binary classification (e.g. if it uses a `sigmoid` last-layer activation).
或者
yhat_classes2 = np.argmax(Keras_model.predict(predictors), axis=1)
如果我创建混淆矩阵,则使用第一类标签,我得到
matrix = confusion_matrix(actual_y, yhat_classes1)
[[108579 8674]
[ 1205 24086]]
但是对于带有混淆矩阵的第二类标签,我得到 0 表示真阳性和假阳性
matrix = confusion_matrix(actual_y, yhat_classes2)
[[117253 0]
[ 25291 0]]
我可以知道这里有什么问题吗?