【问题标题】:How to split a data into k-folds NOT randomly in Python如何在 Python 中不随机地将数据拆分为 k 折叠
【发布时间】:2021-06-01 10:17:43
【问题描述】:

我的数据包含组(个人)。数据中的每个观察值都是个体的年龄,从 16 岁到死亡,每个人的年龄都不同。对于交叉验证,我需要将数据拆分为 k 折,但我觉得我不应该随机进行。我想按组(个人的生命周期)拆分数据。

我之前已经对我的数据进行了分组,但是如何确保我的 k 折交叉验证将按组而不是随机进行拆分?

grouped = data.groupby('id')
lifetimes_list = grouped.size()

【问题讨论】:

    标签: python cross-validation k-fold


    【解决方案1】:

    这称为分层交叉验证。有关何时可能是个好主意的讨论,请参阅适当命名的 stackexchange 站点上的this question

    在 Python 中,您可以使用 scikit-learn 的 StratifiedKFold 类最方便地做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-07
      • 2017-12-09
      • 2018-09-08
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      相关资源
      最近更新 更多