2

我无法理解的输出

kfold_results = cross_val_score(xg_cl, X_train, y_train, cv=kfold, scoring='roc_auc')

xgb.cv 的输出很清楚 - 有训练和测试分数:

[0] train-auc:0.927637+0.00405497   test-auc:0.788526+0.0152854
[1] train-auc:0.978419+0.0018253    test-auc:0.851634+0.0201297
[2] train-auc:0.985103+0.00191355   test-auc:0.86195+0.0164157
[3] train-auc:0.988391+0.000999448  test-auc:0.870363+0.0161025
[4] train-auc:0.991542+0.000756701  test-auc:0.881663+0.013579

但是 Sk-learn 包装器中的 cross_val_score 的结果是不明确的:它是每次折叠后的分数列表,但是: - test_data 还是 train_data 的结果?

4

1 回答 1

1

Kfold从sklearnfolds以传递的数量拆分数据。所以它所做的是将数据集分成 5 个子集(版本 0.22 的默认值),使用 4 作为训练,使用 1 作为验证。因此输出是一个包含 5 个项目的数组,每次迭代 1 个。这就是它的样子: Changed in version 0.20: cv default value if None will change from 3-fold to 5-fold in v0.22.在此处输入图像描述

于 2019-09-25T14:32:52.030 回答