Add qid like ranklib format (#2749)
* add qid for https://github.com/dmlc/xgboost/issues/2748 * change names * change spaces * change qid to bst_uint type * change qid type to size_t * change qid first to SIZE_MAX * change qid type from size_t to uint64_t * update dmlc-core * fix qids name error * fix group_ptr_ error * Style fix * Add qid handling logic to SparsePage * New MetaInfo format + backward compatibility fix Old MetaInfo format (1.0) doesn't contain qid field. We still want to be able to read from MetaInfo files saved in old format. Also, define a new format (2.0) that contains the qid field. This way, we can distinguish files that contain qid and those that do not. * Update MetaInfo test * Simply group assignment logic * Explicitly set qid=nullptr in NativeDataIter NativeDataIter's callback does not support qid field. Users of NativeDataIter will need to call setGroup() function separately to set group information. * Save qids_ in SaveBinary() * Upgrade dmlc-core submodule * Add a test for reading qid * Add contributor * Check the size of qids_ * Document qid format
This commit is contained in:
committed by
Philip Hyunsu Cho
parent
18813a26ab
commit
0cf88d036f
@@ -141,6 +141,8 @@ class NativeDataIter : public dmlc::Parser<uint32_t> {
|
||||
block_.offset = dmlc::BeginPtr(offset_);
|
||||
block_.label = dmlc::BeginPtr(label_);
|
||||
block_.weight = dmlc::BeginPtr(weight_);
|
||||
block_.qid = nullptr;
|
||||
block_.field = nullptr;
|
||||
block_.index = dmlc::BeginPtr(index_);
|
||||
block_.value = dmlc::BeginPtr(value_);
|
||||
bytes_read_ += offset_.size() * sizeof(size_t) +
|
||||
|
||||
Reference in New Issue
Block a user