首页 > 解决方案 > google tensorflow 文档有什么问题?

问题描述

我正在关注https://www.tensorflow.org/tutorials/load_data/csv文档并遇到了一个非常令人沮丧的问题。在本教程中,模型预测泰坦尼克号的幸存者。那里教程的最终预测值根本不好(或者我认为是这样)。

为什么模型预测 12.94% 为 SURVIVED 和 147.69% 为 DIED?这里发生了什么?

标签: pythontensorflowprediction

解决方案


问题是最后Dense一层应该有一个激活函数sigmoid,表明结果必须在 0 和 1 之间。这就是我们想要的,因为我们在预测一个概率。没有这个,输出可以取任何正值或负值,因此你可以看到奇怪的值。

model = tf.keras.Sequential([
           preprocessing_layer,
           tf.keras.layers.Dense(128, activation='relu'),
           tf.keras.layers.Dense(128, activation='relu'),
           tf.keras.layers.Dense(1,activation='sigmoid'),
]) 

当您再次使用 sigmoid 运行代码时,结果是

预测生存率:100.00% | 实际结果:死亡

预测生存率:17.95% | 实际结果:幸存

预测生存率:99.80% | 实际结果:死亡

预测生存率:0.00% | 实际结果:死亡

预测生存率:10.65% | 实际结果:死亡

这更有意义。


推荐阅读