在Keras中获取多输出模型的类

名爵

我正在利用Keras 2 + 8 Functional API同时解决分类和回归问题。当我得到概率时,我不知道如何从分类输出中分配标签。功能性API没有predict_class。我欢迎提出建议。

def run (X_train):
    _input = keras.layers.Input(shape=(1024,))

    hidden1=Dense(500, activation = 'elu')(_input)

    hidden2=Dense(300, activation = 'elu')(hidden1)

    classification = keras.layers.Dense(1, activation="sigmoid", name="classification")(hidden2)

    regression = keras.layers.Dense(1, activation="linear", name="regression")(hidden2)

    multi_model = keras.Model(inputs=[_input], outputs=[classification, regression])
    
    multi_model.compile(loss={'classification': 'binary_crossentropy','regression': 'mse'},
                        optimizer='Nadam',
                        metrics={'classification':'AUC', 'regression': 'mse'})
   
    multi_model.fit([X_train, X_train],
                    [y_train_C, y_train_R],
                    validation_split=0.2,
                    callbacks=callbacks,
                    batch_size=128,
                    epochs=500,
                    verbose=0)
    return multi_model

这是我用训练模型预测的方式:

prediction = fcfp4.predict([X_test,X_test])

我尝试使用argmax,但它仅为我提供0个值(应为0或1)。根据评估,我应该得到很好的分类预测:

fcfp4.evaluate([X_test,X_test], [y_test_C, y_test_R])
1/1 [==============================] - 0s 998us/step - loss: 2.0826 - classification_loss: 0.0845 - regression_loss: 1.9981 - classification_auc_55: 1.0000 - regression_mean_squared_error: 1.9981

我期望这样的数组:

array([0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0])

但是只有0

马克·塞里亚尼

要从S型获得预测,如果pred大于0.5,则只需将其视为1类,否则为0。在这里,请参见完整示例

n_sample = 100
features = 1024
X_train = np.random.uniform(0,1, (n_sample,features))
y_train_R = np.random.uniform(0,1, n_sample)
y_train_C = np.random.randint(0,2, n_sample)

def run(X_train, y_train_C, y_train_R):
    
    _input = keras.layers.Input(shape=(features,))

    hidden1 = keras.layers.Dense(500, activation = 'elu')(_input)

    hidden2 = keras.layers.Dense(300, activation = 'elu')(hidden1)

    classification = keras.layers.Dense(1, activation="sigmoid", name="classification")(hidden2)

    regression = keras.layers.Dense(1, activation="linear", name="regression")(hidden2)

    multi_model = keras.Model(inputs=[_input], outputs=[classification, regression])
    
    multi_model.compile(loss={'classification': 'binary_crossentropy','regression': 'mse'},
                        optimizer='Nadam',
                        metrics={'classification':'AUC', 'regression': 'mse'})
   
    multi_model.fit(X_train,
                    [y_train_C, y_train_R],
                    validation_split=0.2,
                    batch_size=128,
                    epochs=5,
                    verbose=1)
    
    return multi_model

multi_model = run(X_train, y_train_C, y_train_R)
prediction_class, prediction_reg = multi_model.predict(X_train)
prediction_class = (prediction_class>0.5).ravel()+0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Keras 多输出模型

来自分类Dev

训练多输出 keras 模型

来自分类Dev

如何在Keras中返回多输出模型的损失历史?

来自分类Dev

keras 多输出 softmax 模型输入形状

来自分类Dev

TF.Keras中的自定义便笺训练中的多输出多类分类

来自分类Dev

如何在python中的多类多输出分类中获取f-measure?

来自分类Dev

获取Keras模型/层的输出

来自分类Dev

Keras lstm 多输出模型预测两个特征(时间序列)

来自分类Dev

获取RuntimeError:无法使用多输入Keras模型创建链接(名称已存在)

来自分类Dev

在 keras 中组合不同的模型输出

来自分类Dev

Keras多输出定制损失,中间层输出

来自分类Dev

获取一个keras模型以输出结果,并使用权重中的另一个来输出结果

来自分类Dev

Dash中的多输入到单输出

来自分类Dev

Keras模型的输出尺寸

来自分类Dev

如果在使用函数式 API 构建的多输入/输出 Keras 模型中使用生成器,它应该返回什么?

来自分类Dev

如果在使用函数式 API 构建的多输入/输出 Keras 模型中使用生成器,它应该返回什么?

来自分类Dev

如何使用TensorFlow学习多类多输出CNN

来自分类Dev

在keras模型中,我如何惩罚某些输出?

来自分类Dev

R 中的 Keras:高精度模型预测相同的输出类别

来自分类Dev

从Torchvision预训练模型中获取模型类标签

来自分类Dev

keras 回归模型的奇怪输出

来自分类Dev

如何从类语法树中获取类语义模型?

来自分类Dev

PyTorch中多输出回归问题的RMSE损失

来自分类Dev

Matlab中的多输出函数究竟返回什么?

来自分类Dev

watson 对话中的多输出文本值设置

来自分类Dev

Keras多输入掩蔽

来自分类Dev

Keras模型-在自定义损失函数中获取输入

来自分类Dev

多输出的存储过程

来自分类Dev

如何从每层 Keras 获取数组中的输出值

Related 相关文章

  1. 1

    Keras 多输出模型

  2. 2

    训练多输出 keras 模型

  3. 3

    如何在Keras中返回多输出模型的损失历史?

  4. 4

    keras 多输出 softmax 模型输入形状

  5. 5

    TF.Keras中的自定义便笺训练中的多输出多类分类

  6. 6

    如何在python中的多类多输出分类中获取f-measure?

  7. 7

    获取Keras模型/层的输出

  8. 8

    Keras lstm 多输出模型预测两个特征(时间序列)

  9. 9

    获取RuntimeError:无法使用多输入Keras模型创建链接(名称已存在)

  10. 10

    在 keras 中组合不同的模型输出

  11. 11

    Keras多输出定制损失,中间层输出

  12. 12

    获取一个keras模型以输出结果,并使用权重中的另一个来输出结果

  13. 13

    Dash中的多输入到单输出

  14. 14

    Keras模型的输出尺寸

  15. 15

    如果在使用函数式 API 构建的多输入/输出 Keras 模型中使用生成器,它应该返回什么?

  16. 16

    如果在使用函数式 API 构建的多输入/输出 Keras 模型中使用生成器,它应该返回什么?

  17. 17

    如何使用TensorFlow学习多类多输出CNN

  18. 18

    在keras模型中,我如何惩罚某些输出?

  19. 19

    R 中的 Keras:高精度模型预测相同的输出类别

  20. 20

    从Torchvision预训练模型中获取模型类标签

  21. 21

    keras 回归模型的奇怪输出

  22. 22

    如何从类语法树中获取类语义模型?

  23. 23

    PyTorch中多输出回归问题的RMSE损失

  24. 24

    Matlab中的多输出函数究竟返回什么?

  25. 25

    watson 对话中的多输出文本值设置

  26. 26

    Keras多输入掩蔽

  27. 27

    Keras模型-在自定义损失函数中获取输入

  28. 28

    多输出的存储过程

  29. 29

    如何从每层 Keras 获取数组中的输出值

热门标签

归档