【问题标题】:Converting Neural Network output to classes将神经网络输出转换为类
【发布时间】:2020-08-11 08:55:42
【问题描述】:

我正在处理来自 Kaggle 的 document classification problem

它有 5 个类别 - “商业”、“科技”、“政治”、“体育”、“娱乐”

我已经训练了我的深度学习模型并获得了测试集的结果。但我得到的结果是不同类别的概率列表。

Output for one row

如何从我得到的输出中获取实际的类(标签)?

我的神经网络架构是这样的——

Network Architecture

【问题讨论】:

  • 概率的最大值对应那个标签。例如,如果第 4 项的概率最大,则意味着标签是“运动”。使用标准 if-else 语句来实现这一点。
  • @AditiSingh,我明白了!感谢您的帮助。

标签: machine-learning deep-learning neural-network


【解决方案1】:

您应该选择具有最高值的条目作为预测类别。例如,在您提供的示例中:[0.045, 0.030, 0.015, 0.889, 0.019],预测的类是具有最高概率值的第四类(即idx=3)。

NumPy 的argmax 函数可能是您应该使用的。考虑到pred 是您网络的输出概率,其形状为:(batch_size, num_labels),那么np.argmax(pred, axis=1) 将为您提供与预测类别相关的索引(即标签)。

【讨论】:

    猜你喜欢
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2010-12-04
    • 1970-01-01
    相关资源
    最近更新 更多