Kfold, cross_val_score: на основании каких данных выводится вывод (sklearn wrapper)? - PullRequest
2 голосов
/ 25 сентября 2019

Я не могу понять вывод

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

Но результатcross_val_score в оболочке Sk-learn является неясным: это список результатов после каждого сгиба, но: -без результата test_data или train_data?

1 Ответ

1 голос
/ 25 сентября 2019

Kfold разбивает данные по количеству folds передаваемых, Changed in version 0.20: cv default value if None will change from 3-fold to 5-fold in v0.22. из sklearn .Таким образом, он разбивает набор данных на 5 подмножеств (по умолчанию для версии 0.22), использует 4 в качестве поезда и 1 в качестве проверки.Поэтому на выходе получается массив из 5 элементов, по 1 на каждую итерацию.Вот как это будет выглядеть: enter image description here

...