Ahm*_*ad 15 python neural-network keras tensorflow
我一直在尝试重新访问我的 python 代码以进行神经网络预测,在运行model.predict_classes
自 2021 年 1 月 1 日起已弃用的代码后我意识到。
请您支持我知道我可以用什么来代替我的代码?
代码行是:
y_pred_nn = model.predict_classes(X_test)
Run Code Online (Sandbox Code Playgroud)
问题:
NameError
Traceback (most recent call last)
<ipython-input-11-fc1ddbecb622> in <module>
----> 1 print(y_pred_nn)
NameError: name 'y_pred_nn' is not defined
Run Code Online (Sandbox Code Playgroud)
Dea*_*vey 18
关于如何处理此问题的最佳解释位于:
https://androidkt.com/get-class-labels-from-predict-method-in-keras/
首先用于model.predict()
提取类别概率。然后根据班级数量执行以下操作:
使用阈值选择确定类别 0 或 1 的概率
np.where(y_pred > threshold, 1,0)
Run Code Online (Sandbox Code Playgroud)
例如使用 0.5 的阈值
选择概率最高的类别
np.argmax(predictions, axis=1)
Run Code Online (Sandbox Code Playgroud)
如果每个示例可以有多个输出类,请使用阈值来选择应用哪些标签。
y_pred = model.predict(x, axis=1)
[i for i,prob in enumerate(y_pred) if prob > 0.5]
Run Code Online (Sandbox Code Playgroud)
如果您的模型执行多类分类(例如,如果它使用 softmax 最后层激活),请使用:
np.argmax(model.predict(x), axis=-1)
Run Code Online (Sandbox Code Playgroud)
如果您的模型执行二元分类(例如,如果它使用 sigmoid 最后一层激活),请使用:
(model.predict(X_test) > 0.5).astype("int32")
Run Code Online (Sandbox Code Playgroud)
小智 3
model.predict_classes
已被弃用,正如 @Kaveh 提到的,请改用model.predict()
函数。
np.argmax(model.predict(x_test), axis=-1)
Run Code Online (Sandbox Code Playgroud)
要了解更多信息,model.predict()
请查看此链接。
归档时间: |
|
查看次数: |
32253 次 |
最近记录: |