【问题标题】:Tuned model with GroupKFold Cross-Validaion requires Group parameter when Predicting使用 GroupKFold 交叉验证的调整模型在预测时需要组参数
【发布时间】:2023-03-22 03:26:01
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

  • 您能否提供一个最小的、可重现的代码示例? (stackoverflow.com/help/minimal-reproducible-example)
  • 我认为没有必要。这是一个关于理论的问题@KimTang
  • 好的,对我来说,您当前的问题太模糊,无法理解问题。您使用 GroupKFold 创建的折叠之一训练了一个 RandomForestClassifier,然后当您进行预测时,您得到一个错误,要求提供“组特征”?这个“群功能”是什么?我在 RandomForestClassifier 和 GroupKFold 的文档中找不到任何关于它的信息。
  • 我同意@KimTang,我们缺乏关于你真正在做什么的细节,一个代码示例可以作为一个很好的讨论基础(没有措辞问题),并且可以消除对简单编码错误的任何疑问!

标签: scikit-learn grouping random-forest cross-validation k-fold


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    在 scikit-learn Github 存储库 does not reveal a single instance of the string "group feature" 或“group_feature”或任何类似内容上进行搜索,因此我将继续假设您的数据集中有一个称为“组”的特征,预测模型需要该特征作为输入为了产生一个输出。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-13
    • 2019-10-04
    • 2020-07-14
    • 2021-02-10
    • 2017-12-03
    • 2020-08-04
    • 2018-07-04
    • 2018-03-20
    相关资源
    最近更新 更多