【问题标题】:Keras - what accuracy metric should be used along with sparse_categorical_crossentropy to compile modelKeras - 应该使用什么准确度指标以及 sparse_categorical_crossentropy 来编译模型
【发布时间】:2019-05-05 16:31:03
【问题描述】:

当我有 2 个类时,我使用 binary_crossentropy 作为 loss 这样的值来编译模型:

model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])

但现在我有 5 个课程,而且我没有使用热编码功能。所以我选择sparse_categorical_crossentropy 作为loss 值。但是,keras metric 源代码建议的准确度指标应该是多少,有多个可用的准确度指标。我试过了:

model.compile(optimizer='rmsprop', loss='sparse_categorical_crossentropy', metrics=['sparse_categorical_accuracy'])

那么它是正确的还是我应该只使用categorical_accuracy

【问题讨论】:

    标签: python tensorflow keras cross-entropy


    【解决方案1】:

    sparse_categorical_accuracy 是一个正确的指标 sparse_categorical_entropy.

    但是你为什么使用sparse_categorical_entropy?你有什么样的课程? sparse_categorical_entropy 用于 Integer 输出。但是如果你有一个one-hot-encoded目标,你应该使用categorical_crossentropy作为损失函数accuracycategorical_accuracy作为metrics时间>。


    更新:
    为您的分类问题使用以下代码:

    model.add(Dense(5, activation='softmax'))
    model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
    

    【讨论】:

    • 我不知道如何使用one-hot-encoded。这就是为什么我发布this
    • 使用keras.utils.to_categorical函数。
    • 我已经生成了 one-hot-encoded 向量,但我不知道如何使用它来创建模型。你能给我举个例子吗?
    猜你喜欢
    • 2020-11-13
    • 2020-07-13
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 2012-10-13
    • 2019-09-23
    相关资源
    最近更新 更多