y_train_predict 输出结果与老师不一致

来源:7-5 实战(二)

慕桂英7589197

2022-02-19

老师,我的输出结果跟您不一样,是否需要转换一下?
代码:
#evaluate the model
y_train_predict = mlp.predict(X_train_normal)
y_train_predict = (y_train_predict > 0.5).astype(‘int32’)
print(y_train_predict)

输出结果:
[[0 0 0 … 0 0 0]
[1 0 0 … 0 0 0]
[0 0 0 … 0 0 0]

[0 0 0 … 0 0 0]
[0 0 0 … 0 0 0]
[0 0 0 … 0 1 0]]
与老师输出的
[5,0,4…5,6,8]
不一样,请问如何修改。

写回答

1回答

flare_zhao

2022-02-19

model.predict_classes()报错,

‘Sequential’ object has  no attribute ‘predict_classes’

是因为这个用法已经不用了。

用这个:

y_train_predict = (mlp.predict(X_train)>0.5).astype(int)

https://blog.csdn.net/zds13257177985/article/details/80638384/

https://blog.csdn.net/tszupup/article/details/85275111

https://www.5axxw.com/questions/content/dx8hh4


keras的predict和predict_proba返回的是获得1的概率,

Sklearn里面的predict_proba 返回的是两类的概率


多分类和二分类一样的,看模型的predict返回的是单个还多个结果的概率,单个就用把0.5改成其他阈值,多个就用np.argmax

2
2
flare_zhao
加油哈
2022-02-22
共2条回复

Python3入门人工智能 掌握机器学习+深度学习

人工智能基础全方位讲解,构建完整人工智能知识体系,带你入门AI

1952 学习 · 596 问题

查看课程