示例#1
0
    DLLEXPORT void XGBoosterEvalOneIter( void *handle, int iter, void *dmats[], const char *evnames[], size_t len ){
        Booster *bst = static_cast<Booster*>(handle);
        bst->CheckInit();

        std::vector<std::string> names;
        std::vector<const xgboost::regrank::DMatrix*> mats;
        for( size_t i = 0; i < len; ++i ){
            mats.push_back( static_cast<DMatrix*>(dmats[i]) );
            names.push_back( std::string( evnames[i]) );
        }
        bst->EvalOneIter( iter, mats, names, stderr );
    }
示例#2
0
 const char* XGBoosterEvalOneIter(void *handle, int iter, void *dmats[],
                                  const char *evnames[], bst_ulong len) {
   Booster *bst = static_cast<Booster*>(handle);
   std::vector<std::string> names;
   std::vector<const DataMatrix*> mats;
   for (bst_ulong i = 0; i < len; ++i) {
     mats.push_back(static_cast<DataMatrix*>(dmats[i]));
     names.push_back(std::string(evnames[i]));
   }
   bst->CheckInitModel();
   bst->eval_str = bst->EvalOneIter(iter, mats, names);
   return bst->eval_str.c_str();
 }
int XGBoosterEvalOneIter(BoosterHandle handle,
                         int iter,
                         DMatrixHandle dmats[],
                         const char *evnames[],
                         bst_ulong len,
                         const char **out_str) {
  API_BEGIN();
  Booster *bst = static_cast<Booster*>(handle);
  std::vector<std::string> names;
  std::vector<const DataMatrix*> mats;
  for (bst_ulong i = 0; i < len; ++i) {
    mats.push_back(static_cast<DataMatrix*>(dmats[i]));
    names.push_back(std::string(evnames[i]));
  }
  bst->CheckInitModel();
  bst->eval_str = bst->EvalOneIter(iter, mats, names);
  *out_str = bst->eval_str.c_str();
  API_END();
}