使用GroupKFold Cross-Validaion进行调整的模型在预测时需要使用Group参数

问题描述

我使用GroupKFold调整了RandomForest(以防止数据泄漏,因为某些行来自同一组)。

我得到了最佳拟合模型,但是当我对测试数据进行预测时,它说它需要分组特征。

这有意义吗?奇怪的是,群组功能也将成为最重要的功能之一。

我只是想知道我是否可能做错了什么。

谢谢

解决方法

在scikit-learn Github repo does not reveal a single instance of the string "group feature"或“ group_feature”或类似的内容上进行搜索,因此我将继续假设您的数据集中有一个名为“ group”的功能,预测模型要求该功能为输入以产生输出。

请记住,预测模型基本上是一个函数,它接受输入(“ predictor”变量)并返回输出(“ predicted”变量)。如果将名为“ group”的变量定义为您的预测模型的输入,那么scikit-learn会请求它。

,

该组是否在训练集中显示为一列?如果是这样,请将其卸下并重新训练。看来您只是用它来生成拆分。如果它不是您需要预测的输入数据的一部分,则不应将其包含在训练集中。