dotnet / dotnet/machinelearning

FastTree and LightGbm base class is specific to Ranking

Open
#3,556 1 comment 2 reactions 0 assignees View on GitHub
area-Trees bug Priority:2
Dominant language
C#
Stars
9.4k
Forks
2k
Avg merge
2d 20h
Merged PRs (30d)
11

Description

The only training task that requires a `RowGroupColumn` is ranking. However, the base class of FastTree, FastForest and LightGbm requires it:

https://github.com/dotnet/machinelearning/blob/70ef7ecd43b031b481a4047ea361da5e2f360336/src/Microsoft.ML.Data/Training/TrainerEstimatorBase.cs#L176

The same is true for the options classes in FastTree, FastForest and LightGbm:

https://github.com/dotnet/machinelearning/blob/70ef7ecd43b031b481a4047ea361da5e2f360336/src/Microsoft.ML.Data/Training/TrainerInputBase.cs#L98-L111

We should fix the class hierarchy so that the base classes become `TrainerEstimatorBase` instead of `TrainerEstimatorBaseWithGroupId` and `TrainerInputBaseWithWeight` instead of `TrainerInputBaseWithGroupId`. This is a breaking API change.

This related to #3365.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.