我正在处理数据,其中每个患者都可以有不同数量的训练示例。运行 Xgboost CV 时,我想确保来自同一患者的数据仅限于出现在同一折叠中,因此我需要使用折叠,其中可能有不同数量的索引。
在 xgb.cv 函数中使用 'fold' 参数传递包含索引的 numpy 数组列表时,我得到:
dtrain = dall.slice(np.concatenate([idset[i] for i in range(nfold) if k != i])) ValueError:无法连接零维数组
通过将我的自定义折叠作为列表传递,其中每个元素都是测试折叠索引的向量,我在 R 中实现了相同的过程,没有任何问题。
您能否建议将自定义索引传递给 Python XGBoost CV 函数的正确方法是什么。谢谢!