sassoftware / sassoftware/python-sasctl
Scoring code function structure generates an error for LGBoost and XGBoost packages
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 52
- Forks
- 45
- Avg merge
- 23h 38m
- Merged PRs (30d)
- 2
Description
Issue description
In the attached screen there is an extract from scoring code generated by sasctl for Python models when imported into SAS Model Manager.
The key part is an option: dtype=object which is probably fine for sci-kit learn based models but it causes the errors for LGBoost and XGBoost models.
When any of these package is used to build and import the model into SAS Model Manager the scoring test will fail due to PyMas execute function error: DS2 "pymas" package encountered a failure in the 'execute' method
ScoringTest.log
In CAS log You can find the root cause for that error:
Extract sas-cas-server.log
The object data type is not supported by such popular Python models. I had to manually remove dtype=object , which means the data type will be inferred. And then the Test Score works fine.
I hope the intention of sasctl package is support Python developed models, not only sci-kit learn based ones?
Version
1.10.1
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
No source file or test is named. Start by locating the scoring-code generation entry point that emits dtype=object, then reproduce the scoring test with LightGBM or XGBoost using the attached logs for comparison; done means the generated code runs successfully without the unsupported dtype option.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100