Я изучаю XGBoost. Я хочу закончить демонстрацию с помощью XGBoost python api. , когда я использую функцию «xgboost.DMatrix», для которой задан файл, тихий установлен True. Однако функция «xgboost.DMatrix» всегда выводит некоторое сообщение «[23:28:44] 1441x10 матрица с 11528 элементами, загруженными из файла_имя». я устанавливал параметры ошибки? referenceМожет ли xgboost.DMatrix молчать по набору «silent = True»
0
A
ответ
1
Это интересно. Значение молчания принимается и передается в Wrapper, но похоже, что обертка на самом деле не использует его!
Это показывает соответствующий код https://github.com/dmlc/xgboost/blob/master/src/c_api/c_api.cc#L202
Который говорит:
int XGDMatrixCreateFromFile(const char *fname,
int silent,
DMatrixHandle *out) {
API_BEGIN();
if (rabit::IsDistributed()) {
LOG(CONSOLE) << "XGBoost distributed mode detected, "
<< "will split data among workers";
}
*out = new std::shared_ptr<DMatrix>(DMatrix::Load(fname, false, true));
API_END();
}
т.е. даже если молчание является аргументом, он не используется в функции в любом месте ... (очень странно)
Итак, кажется, что сейчас, если вы используете какие-либо из оберток (Python, R, julia и т. Д.), Бесшумная функциональность для DMatrix не будет работать.
Я заметил, что https://github.com/dmlc/xgboost/issues/1742 уже создан (возможно, вами). Добавлен запрос на перенос, чтобы исправить его по адресу https://github.com/dmlc/xgboost/pull/1794 – AbdealiJK