microsoft / microsoft/SynapseML
[Fatal] Tree model should contain cat_threshold field for lgbm
- 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
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