microsoft / microsoft/SynapseML

[Fatal] Tree model should contain cat_threshold field for lgbm

Open
#824 1 comment 0 reactions 0 assignees View on GitHub
area/lightgbm
Dominant language
Scala
Stars
5.2k
Forks
868
Avg merge
22h 9m
Merged PRs (30d)
45

Description

**Describe the bug**

Observing the error while calculating the ndcg scores
**[Fatal] Tree model should contain cat_threshold field for lgbm**

Not sure how in mmlspark inferences the value expected here:
https://github.com/microsoft/LightGBM/blob/master/src/io/tree.cpp#L622
Is there some default threshold?

It would be great to point out to some documentation as well.

**To Reproduce**
following are my model params:
```
model = LightGBMRegressor(
boostingType = 'gbdt',
isProvideTrainingMetric=True,
maxBin = 255,
numIterations = 500,
learningRate = 0.3,
numLeaves = 127,
earlyStoppingRound = 20,
#parallelism = 'serial',
#num_threads = 8
featureFraction = 0.5,
baggingFreq = 1,
baggingFraction = 0.8,
#min_data_in_leaf = 20
minSumHessianInLeaf = 0.001,
categoricalSlotIndexes=[4,5,6,7,8,9,10,11,12,13,14,15,16]
)
```

**Expected behavior**
A clear and concise description of what you expected to happen.

**Info (please complete the following information):**
- MMLSpark Version: v0.0.1-rc
- Spark Version 2.4.4
- Spark Platform Dataproc

** Stacktrace**
```
Please post the stacktrace here if applicable
```

If the bug pertains to a specific feature please tag the appropriate [CODEOWNER](https://github.com/Azure/mmlspark/blob/master/CODEOWNERS) for better visibility

**Additional context**
Add any other context about the problem here.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with the LightGBMRegressor parameters and categoricalSlotIndexes shown in the report, then inspect the linked LightGBM tree.cpp location for the cat_threshold requirement. Done means identifying whether MMLSpark supplies the required field or needs a documented configuration change, with a complete stack trace and a regression test or documentation update.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.