首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Keras总是预测全0或全1

Keras总是预测全0或全1
EN

Stack Overflow用户
提问于 2021-02-22 15:06:32
回答 1查看 71关注 0票数 0

我在预测模型中预测全0或全1的功能时遇到了一些问题。这是我的模型

代码语言:javascript
运行
复制
    model = keras.Sequential(
    [
        layers.BatchNormalization(),
        layers.Dense(200, activation="relu"),
        layers.Dense(500, activation="relu"),
        layers.Dense(1300, activation="relu"),
        layers.Dense(2000, activation="relu"),
        layers.Dense(1320, activation="relu"),
        layers.Dense(710, activation="relu"),
        layers.Dense(150, activation="relu"),
        layers.Dense(30, activation="relu"),
        layers.BatchNormalization(),
        layers.Dense(1, activation="sigmoid"),
    ]
)
model.compile(loss='binary_crossentropy', optimizer=keras.optimizers.Adam(learning_rate=(0.001)), metrics=[metrics])
history = model.fit(training, target, batch_size=2048, epochs=100, shuffle=True, validation_split=0.2)

我对深度学习和尝试创建模型来分类和获得预测非常陌生。我的答案只是基于0或1,这将表明客户在长期内是离开还是继续作为客户。我已经测试了数据是否为null和NaN。我已经看了很多关于这可能是什么的帖子,在大多数情况下,人们似乎在使用错误的激活函数进行分类,而不是回归问题。答案是,如果你使用二进制交叉点,你应该使用sigmoid (Why does a binary Keras CNN always predict 1?)。我认为我的网络的输出应该是正确的,因为我使用的是带有二进制交叉的ReLu和SigMoid,但每当我预测时,它总是全为0或全1。这些层可能没有太多意义,我在这方面仍然是个新手,当我训练和评估时,我会尝试看看层是如何影响结果的。

下面是我如何对数据使用预测的大致方法

代码语言:javascript
运行
复制
data = pd.read_csv("judge.csv", skiprows=range(0,0))
samples_to_predict = data.drop(['Surname', 'CreditScore', 'Geography', 'Gender', 'Tenure', 'NumOfProducts', 'HasCrCard', 'EstimatedSalary'], axis=1)
prediction = loaded_model.predict(samples_to_predict.values)
print(prediction)

我已经尝试调试了一段时间,任何关于错误可能来自哪个方向的帮助都将是受欢迎的。我试着将我的纪元增加到1000,我试着降低我的learning_rate,我相信BatchNormalization可能会注意到不缩放我的数据(我可能误解了这一点),试着降低我的batch_size,我试着简单地使用3个密集层是两个ReLu和一个Sigmoid,检查我预测的数据是一个numpy数组,到目前为止它们都产生了预测输出全0或全1的相同结果。

EN

回答 1

Stack Overflow用户

发布于 2021-02-26 04:24:29

事实证明,我正在使用预测与我没有用来训练模型的数据的类别。例如,我有一个标题为CustomerID的专栏,我为了训练模型而删除了它,但当我预测时,我忘记了删除让我的模型预测全0或全1的那一列。在解决了这个问题并确保我只使用我训练它的类别进行预测后,我得到的预测并不全是0或全1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66311351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档