结合不同的模型

数据挖掘 机器学习 集成建模
2022-02-09 06:52:14

我有 N 个模型,每个模型都用于预测一组数据。我目前正在通过对行进行平均来组合他们的预测。需要关于结合他们的预测的建议。最终目标是对样本进行分类。

2个回答

部分问题在于您拥有多少数据。要创建第二级复杂性,您最好使用保留数据集来确定模型预测的正确组合。如果您使用模型本身的训练数据来组合模型输出,则可能会过度拟合最终模型。如果你有一个小数据集,尝试在它之上构建一个集成可能会导致部署性能更差,因为模型只记住训练数据。在这种情况下,一个简单的平均值可能比尝试任何更复杂的方法更好。

但是,假设你有更多的数据要使用,或者如果你想使用你训练过的数据,你可以设计一个加权平均值或创建第二个模型。

如果您知道哪个模型表现更好,您可能想尝试手动为每个模型的输出分配权重。一个简单的平均值为每个输出分配相同的权重,但您可以尝试稍微改变一下权重。

例如,给定两个模型,基本平均收益率

new_pred =  0.5 * mod_1  + 0.5 * mod_2

但是,如果您看到模型 1 的整体性能更好,您可能会将平均值转移到

new_pred =  0.9 mod_1  + 0.1 mod_2

相反,如果您想创建第二个模型,您可以尝试使用任何适合分类的机器学习模型。我可能会远离像随机森林这样的大型模型,但是做一些事情,比如将预测用作逻辑回归模型的特征可以很好地工作。但同样,我要强调仅尝试将保留数据集的预测用于逻辑回归模型,以确保您没有过度拟合。

是分类问题还是回归问题?

如果您使用平均值,则假设每个模型的权重相同。您可以使用交叉验证来确定最适合您的权重。