我目前正在研究测试日志数据的多类分类问题。
基本上,我保存了测试执行的上下文数据,并希望自动分析失败的测试。我的两个目标是负责错误的页面(对应于工作团队)和错误类型。
因此,对于这件事,我在时间t获取数据并在本地对其进行处理,以获得可能的最佳结果。
我训练了几个模型,通过网格搜索的超参数优化对它们进行了优化,得到了很好的结果。
目标页面的 f1_scores 约为 90+%,目标类型约为80+% 。
这些结果看起来不错,所以我正在研究集成方法,然后从我的不同模型的组合中获得更好的结果。
在下图中,您可以看到目标页面的不同模型的 f1 分数和方差。

但是当我正在研究如何进行集成时,我想到了获取最新的测试数据(请记住,我从t开始就使用相同的数据)。
我从只有2162个样本变成了4367个样本,所以数据量增加了一倍多。
这使我的数据分布与以前不同(在下图中,我们可以看到目标页面的每个类的值数量)。
上面,我们可以看到有 11 个高度不平衡的类。
在第二个图上,我们可以看到我们现在有 14 个类,也很不平衡。
(与新数据的差异也适用于目标类型)。这导致我的模型损失了 f1_score 的 6% 到 10%。
所以,我的问题如下:
- 在这种情况下,我该如何处理数据,以便模型能够很好地处理新数据,即使分布可能发生变化?我是否需要检查分数的演变,当分数过低时,重新进行参数优化?
- 我现在正在独立处理每个目标。我应该在两个目标之间尝试多标签吗?如果是这样,您对算法或解决方法有什么建议吗?
- 任何关于如何改进工作的建议,也许可以尝试不同的模型或集成方法,我们将不胜感激☺
感谢您阅读这篇长文!

