7 #ifndef XGBOOST_FEATURE_MAP_H_ 
 8 #define XGBOOST_FEATURE_MAP_H_ 
 10 #include <xgboost/logging.h> 
 38  std::string fname, ftype;
 
 39  while (is >> fid >> fname >> ftype) {
 
 40  this->
PushBack(fid, fname.c_str(), ftype.c_str());
 
 49  inline void PushBack(
int fid, 
const char *fname, 
const char *ftype) {
 
 50  CHECK_EQ(fid, 
static_cast<int>(names_.size()));
 
 51  names_.emplace_back(fname);
 
 52  types_.push_back(GetType(ftype));
 
 60  inline size_t Size()
 const {
 
 64  inline const char* 
Name(
size_t idx)
 const {
 
 65  CHECK_LT(idx, names_.size()) << 
"FeatureMap feature index exceed bound";
 
 66  return names_[idx].c_str();
 
 70  CHECK_LT(idx, names_.size()) << 
"FeatureMap feature index exceed bound";
 
 80  inline static Type GetType(
const char* tname) {
 
 84  if (!strcmp(
"int", tname)) 
return kInteger;
 
 85  if (!strcmp(
"float", tname)) 
return kFloat;
 
 87  LOG(FATAL) << 
"unknown feature type, use i for indicator and q for quantity";
 
 91  std::vector<std::string> names_;
 
 93  std::vector<Type> types_;
 
特征映射数据结构,用于辅助文本模型转储。TODO(tqchen) 考虑使其更轻量级...
定义: feature_map.h:22
void Clear()
清除特征映射
定义: feature_map.h:55
void LoadText(std::istream &is)
从输入流加载特征映射
定义: feature_map.h:36
Type
特征映射的类型
定义: feature_map.h:25
@ kQuantitive
定义: feature_map.h:27
@ kFloat
定义: feature_map.h:29
@ kIndicator
定义: feature_map.h:26
@ kInteger
定义: feature_map.h:28
@ kCategorical
定义: feature_map.h:30
void PushBack(int fid, const char *fname, const char *ftype)
回溯特征映射。
定义: feature_map.h:49
const char * Name(size_t idx) const
定义: feature_map.h:64
Type TypeOf(size_t idx) const
定义: feature_map.h:69
size_t Size() const
定义: feature_map.h:60
集成目标、gbm和评估的学习器接口。这是用户面临的XGB...
Definition: base.h:97