2016-11-05 14 views
0

私はXGBoostを学習しています。私はXGBoostのpython apiでデモンストレーションを終了したいと思います。 関数 "xgboost.DMatrix"を使用してデータをファイルに設定すると、サイレントがTrueに設定されます。ただし、関数 "xgboost.DMatrix"は、常に "[23:28:44] 1411x10マトリックスのファイル名11528をロードしたメッセージを出力します。"エラーパラメータを設定しましたか? referencexgboost.DMatrixを "silent = True"と設定してもサイレントにすることができます

答えて

1

これは興味深いことです。サイレント値が取得されてラッパーに渡されますが、ラッパーが実際に使用していないようです。

これは言う適切なコード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

関連する問題