我有一个带有 1000 个条目的标记训练数据集 DS1。目标(真/假)几乎是平衡的。使用 sklearn,我尝试了几种算法,其中 GradientBoostingClassifier 在 F-Score ~0.83 时效果最好。
现在,我必须将经过训练的分类器应用于具有约 500 万个条目(和相同特征)的未标记数据集 DS2。但是,对于 DS2,目标分布预计会高度不平衡。
这是一个问题吗?当应用于 DS2 时,该模型是否会重现来自 DS1 的训练目标分布?
如果是,另一种算法会更健壮吗?
我有一个带有 1000 个条目的标记训练数据集 DS1。目标(真/假)几乎是平衡的。使用 sklearn,我尝试了几种算法,其中 GradientBoostingClassifier 在 F-Score ~0.83 时效果最好。
现在,我必须将经过训练的分类器应用于具有约 500 万个条目(和相同特征)的未标记数据集 DS2。但是,对于 DS2,目标分布预计会高度不平衡。
这是一个问题吗?当应用于 DS2 时,该模型是否会重现来自 DS1 的训练目标分布?
如果是,另一种算法会更健壮吗?
对于预测,GradientBoostingClassifier 只会考虑您在训练期间提供给它的那些特征,然后它会自行对每个观察结果进行分类。这意味着通常您不必担心预测数据集的目标分布,只要您在足够广泛的训练数据集上训练模型即可。
GBM 最终会尝试将您的数据分成矩形区域,并为每个区域分配一个恒定的预测概率,即该区域中正训练示例的比例。所以,是的,总的来说,模型已经融入了训练样本的平均响应率。
我认为如果您的数据特别清晰可分离,这种影响会减弱:如果每个矩形区域都是纯的,而您的测试数据恰好更倾向于负区域,那么它自然会更接近“正确”的答案.
我不确定其他模型是否会以这种方式更健壮......可能是 SVM,而不是首先自然概率。
如果你的上下文是下采样,逻辑回归对这个问题有一个众所周知的调整。相同的调整(对数赔率)似乎也可能在 GBM 环境中有所帮助,尽管我不知道有任何分析可以支持它。