【发布时间】:2021-07-28 15:21:25
【问题描述】:
当谈到 sklearn 数据准备和 XGBoost 回归参数中的组时,我觉得我真的错过了一些明显的东西。
我已经阅读了这个教程:https://medium.com/predictly-on-tech/learning-to-rank-using-xgboost-83de0166229d
以及 XGBRanker 文档。
究竟什么是组?它是数据集的任意块吗?它提到组对于确保您在教程中具有“数据集中的一列,告诉我们应该将哪些数据点与什么进行比较”很重要,但我的理解是 sklearn 的 train_test_split 保留了训练集和测试集之间的行跨两个功能(X) 和标签 (y)。
我的代码使用 train_test_split() 就像您的标准数据准备过程用于分类一样,即:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, stratify=X[<label column name>].values)
要添加组,我需要进行哪些更改?它提到我也可以只使用查询 ID,我是否应该在拆分前向数据添加一个随机生成的查询 ID 的列?
【问题讨论】:
标签: python scikit-learn xgboost ranking