2016-11-05 5 views
0

Я изучаю XGBoost. Я хочу закончить демонстрацию с помощью XGBoost python api. , когда я использую функцию «xgboost.DMatrix», для которой задан файл, тихий установлен True. Однако функция «xgboost.DMatrix» всегда выводит некоторое сообщение «[23:28:44] 1441x10 матрица с 11528 элементами, загруженными из файла_имя». я устанавливал параметры ошибки? referenceМожет ли xgboost.DMatrix молчать по набору «silent = True»

ответ

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 не будет работать.

+0

Я заметил, что https://github.com/dmlc/xgboost/issues/1742 уже создан (возможно, вами). Добавлен запрос на перенос, чтобы исправить его по адресу https://github.com/dmlc/xgboost/pull/1794 – AbdealiJK

 Смежные вопросы

  • Нет связанных вопросов^_^