我正在寻找一些关于从哪里开始解决这个问题的一般建议。有 350 个稀疏(低正整数)特征。我有 2000 个阳性、1000 个阴性和无限的未标记数据,其中未标记数据中估计的真阳性率约为 1%(但这并不确定)。目标是预测示例为正的概率。
如果您有大约 40 小时的时间来获得最佳模型,您将如何解决这个问题?
如果你有更多的时间呢?
我正在寻找一些关于从哪里开始解决这个问题的一般建议。有 350 个稀疏(低正整数)特征。我有 2000 个阳性、1000 个阴性和无限的未标记数据,其中未标记数据中估计的真阳性率约为 1%(但这并不确定)。目标是预测示例为正的概率。
如果您有大约 40 小时的时间来获得最佳模型,您将如何解决这个问题?
如果你有更多的时间呢?
这是一个二元半监督分类问题。首先,为监督案例建立基线。然后尝试未标记的数据是否有帮助
通常,您可以解释特征。这可能有助于开发新功能。
考虑到您的时间预算和与类别不平衡相关的潜在挑战,我会丢弃未标记的数据并在标记数据上使用监督学习。尝试一个简单的分类器,例如逻辑回归或随机森林或 xgBoost,并使用交叉验证来查看它们的执行情况。提前搁置一个保留的测试数据,直到最后不要触摸它。对其余数据使用交叉验证来尝试不同的分类器和不同的方法。
你必须处理一个严重的类不平衡问题。我的怀疑是,您可能需要将大部分时间用于处理班级不平衡问题。1% 的真阳性率对应于 100 倍的类不平衡,这会给许多分类器带来严重的问题,并且可能会让人头疼。
此外,真正的基础分布与训练集中的分布不匹配:野外的真阳性率为 1%,但 67% 的训练集是阳性的。您也需要对此进行调整。
有很多方法可以处理类不平衡,并调整训练集与野外不平衡之间的差异。我建议您从设置类权重开始:您需要将负数的权重提高 198 倍(因此,训练集中负数的错误成本是正数集中正数错误的 198 倍),因为在野外,您期望看到的分布是 2000 个正数和 198000 个负数,而不是 2000 个正数和 1000 个负数。
挑战在于,一些分类器很难很好地处理这种级别的类不平衡。例如,众所周知,SVM 有时会在存在这种类别不平衡的情况下严重失败。他们最终可能会默认始终预测“负数”,因为这样的错误率只有 1%。相比之下,逻辑回归往往表现更好,并提供了一种调整类别不平衡的简单方法。
对类不平衡进行一些搜索;你会发现很多关于多种策略的文章,你可以使用它来处理它。
如果类不平衡结果不是问题,并且您在第一次尝试时得到了一个不错的分类器,并且您有更多时间尝试改进结果,那么我接下来要花时间看看您是否设计更好/更多的特性,给定关于这些实例来自哪里的领域知识。