Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support to specifying position using position_column parameter #6825

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix
  • Loading branch information
NProkoptsev committed Feb 15, 2025
commit c020801f6ff8542325e50b98bd4d47de1dbf6679
6 changes: 3 additions & 3 deletions docs/Parameters.rst
Original file line number Diff line number Diff line change
@@ -925,11 +925,11 @@ Dataset Parameters

- **Note**: index starts from ``0`` and it doesn't count the label column when passing type is ``int``, e.g. when label is column\_0 and query\_id is column\_1, the correct parameter is ``query=0``

- ``position_column`` :raw-html:`<a id="group_column" title="Permalink to this parameter" href="#group_column">&#x1F517;&#xFE0E;</a>`, default = ``""``, type = int or string, aliases: ``position``, ``position_id``
- ``position_column`` :raw-html:`<a id="position_column" title="Permalink to this parameter" href="#position_column">&#x1F517;&#xFE0E;</a>`, default = ``""``, type = int or string, aliases: ``position``, ``position_id``, ``position_column``

- used to specify the position id column
- used to specify the position/position id column

- use number for index, e.g. ``position=0`` means column\_0 is the position
- use number for index, e.g. ``position=0`` means column\_0 is the position id

- add a prefix ``name:`` for column name, e.g. ``position=name:position_id``

3 changes: 2 additions & 1 deletion src/io/config_auto.cpp
Original file line number Diff line number Diff line change
@@ -135,6 +135,7 @@ const std::unordered_map<std::string, std::string>& Config::alias_table() {
{"query_id", "group_column"},
{"position", "position_column"},
{"position_id", "position_column"},
{"position_column", "position_column"},
{"ignore_feature", "ignore_column"},
{"blacklist", "ignore_column"},
{"cat_feature", "categorical_feature"},
@@ -889,7 +890,7 @@ const std::unordered_map<std::string, std::vector<std::string>>& Config::paramet
{"label_column", {"label"}},
{"weight_column", {"weight"}},
{"group_column", {"group", "group_id", "query_column", "query", "query_id"}},
{"position_column", {"position", "position_id"}},
{"position_column", {"position", "position_id", "position_column"}},
{"ignore_column", {"ignore_feature", "blacklist"}},
{"categorical_feature", {"cat_feature", "categorical_column", "cat_column", "categorical_features"}},
{"forcedbins_filename", {}},
2 changes: 2 additions & 0 deletions src/io/dataset_loader.cpp
Original file line number Diff line number Diff line change
@@ -1385,6 +1385,8 @@ void DatasetLoader::ExtractFeaturesFromMemory(std::vector<std::string>* text_dat
dataset->metadata_.SetWeightAt(i, static_cast<label_t>(inner_data.second));
} else if (inner_data.first == group_idx_) {
dataset->metadata_.SetQueryAt(i, static_cast<data_size_t>(inner_data.second));
} else if (inner_data.first == position_idx_) {
dataset->metadata_.SetPositionAt(i, static_cast<data_size_t>(inner_data.second));
}
}
}
Loading
Oops, something went wrong.