keras - 如何处理多类文本分类中不在训练集中的测试集标签?
问题描述
我正在使用具有训练集和测试集的多类文本分类数据集。训练集中大约有 470 个唯一标签,测试集中大约有 250 个唯一标签。(这 470+ 250 个独特的标签来自一个大小为 400 万的大标签集。)
大约有 30 个标签仅在测试集中,但不在训练集中。
我是否需要将每个标签编码为一个大小为 400 万而不是 450 的热向量? 这样我也可以处理那些丢失的 30 个标签
解决方案
您的模型无法学习它没有见过的标签!理想情况下,在机器学习中,您假设训练集和测试集是从相同的基础分布中采样的。模型只能学习你教给它的东西,所以你需要确保你在相似的数据上训练和测试它!
您可以尝试将两个集合合并在一起,然后将它们重新拆分为训练和测试集,以便它们具有相同数量的类。此外,请确保您有足够的数据。您的模型无法从它看过一次或两次的课程中学习。为了让模型学习 500 个类,您应该有数十万个样本!如果不是,请尝试将您的一些课程合并在一起。
推荐阅读
- javascript - Typescript 中 Map 的类型保护
- php - PHPWord HTML to Word 设计问题
- android - Flutter:“无法解析配置':classpath'的所有工件”
- excel - 文本框的值被重置
- python - 错误:无法为使用 PEP 517 且无法直接安装的 cvxpy 构建轮子
- c++ - 使用堆的优先级队列,具有相同键的值不遵循 FIFO(先进先出)
- javascript - Safri 浏览器增加了我的时间
- r - 一个列上的 Cumsum 取决于另一列中值的出现次数
- javascript - 出现“未捕获的 TypeError:history.push 不是函数”错误
- reactjs - 尝试使用 Microsoft Graph API + react-adal 获取用户个人资料照片时出现“NoPermissionsInAccessToken”