microsoft / microsoft/SynapseML
Load and save the lightGBM classifier not producing the same results
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 5.2k
- Forks
- 868
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 45
Description
### SynapseML version
0.10.2
### System information
- **Language version** (e.g. python 3.8, scala 2.12): python 3.8
- **Spark Version** (e.g. 3.2.3): 3.3.2
- **Spark Platform** (e.g. Synapse, Databricks): Databricks
### Describe the problem
Trained a lightGBM classifier. I tried to save this in the native format and load it back again with the below code -
`LightGBMClassificationModel.loadNativeModelFromString(model.getNativeModel())`
I am not getting the same results with the load and save model as compared to original.
Can someone please help?
### Code to reproduce issue
```python
LightGBMClassificationModel.loadNativeModelFromString(model.getNativeModel())
```
### Other info / logs
_No response_
### What component(s) does this bug affect?
- [ ] `area/cognitive`: Cognitive project
- [ ] `area/core`: Core project
- [ ] `area/deep-learning`: DeepLearning project
- [ ] `area/lightgbm`: Lightgbm project
- [ ] `area/opencv`: Opencv project
- [ ] `area/vw`: VW project
- [ ] `area/website`: Website
- [ ] `area/build`: Project build system
- [ ] `area/notebooks`: Samples under notebooks folder
- [ ] `area/docker`: Docker usage
- [ ] `area/models`: models related issue
### What language(s) does this bug affect?
- [ ] `language/scala`: Scala source code
- [ ] `language/python`: Pyspark APIs
- [ ] `language/r`: R APIs
- [ ] `language/csharp`: .NET APIs
- [ ] `language/new`: Proposals for new client languages
### What integration(s) does this bug affect?
- [ ] `integrations/synapse`: Azure Synapse integrations
- [ ] `integrations/azureml`: Azure ML integrations
- [ ] `integrations/databricks`: Databricks integrations
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the discrepancy with the provided Python call to LightGBMClassificationModel.loadNativeModelFromString(model.getNativeModel()) in the stated SynapseML, Spark, and Databricks versions. Compare predictions before and after native serialization, then trace the corresponding LightGBM model save/load entry points; done means the loaded model produces the same results as the original.
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
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100