【发布时间】:2019-11-23 14:29:16
【问题描述】:
我正在尝试将多输入混合输入(txt、图像)keras 模型从回归输出(房价)转换为分类输出(卧室数量)。特别是,我正在修改本教程
https://www.pyimagesearch.com/2019/02/04/keras-multiple-inputs-and-mixed-data/
成为一个分类器。我有几个关于类别数量的技术问题,而且我还收到一个我不完全理解的错误。
我已将网络的最后一层更改为 softmax:
x = Dense(11, activation="softmax")(x)
但是我只有 10 个类别(数据集涵盖了具有 1-10 间卧室的房屋)。但是使用 Dense(10,...) 我得到以下错误:
InvalidArgumentError:收到的标签值 10 超出了 [0, 10) 的有效范围。标签值:3 2 5 2 10 3 2 5
我了解该错误以及如何避免该错误,但鉴于我没有 0 间卧室的房屋,为什么范围 [0,10) 不够?
当我尝试获取分类报告时,我收到两个警告:
用户警告:标签大小,6,与目标名称的大小不匹配,10 UndefinedMetricWarning:精度和 F 分数定义不明确,并且 在没有预测样本的标签中设置为 0.0。
我认为这可能是因为我的分类报告仅包含 1-6 间卧室的房屋。但我不确定 - 如果您能提供任何见解,我们将不胜感激。
我的代码和数据集可以从这里克隆: https://github.com/davidrtfraser/blog-keras-multi-input
【问题讨论】:
标签: python tensorflow machine-learning keras