Add LightGBM Regressor and Classifier test function#14
Add LightGBM Regressor and Classifier test function#14ZohaibHassan16 wants to merge 8 commits intoSimonBlanke:mainfrom
Conversation
SimonBlanke
left a comment
There was a problem hiding this comment.
Thanks for opening the PR. I'll look into this. In the meantime you should also add this new feature to the docs: https://github.com/SimonBlanke/Surfaces/tree/main/docs/source
|
Hey @SimonBlanke , just did and also fixed a few module export issues which I stubbed into while testing docs in terminal. Let me know if you need anything else. |
SimonBlanke
left a comment
There was a problem hiding this comment.
There are some test fails, because the package is not installed in the CI. This needs to be corrected.
It is also necessary to add a simple test for this function in the same style as existing tests.
|
Hey @SimonBlanke, I've finished up the LightGBM integration !! Here is what I’ve updated: Testing: I updated tests/full/smoke/test_lightgbm.py to be a full execution test. Verification Results: I ran a manual logic check and the official smoke tests. Both confirmed that the models are up running and training correctly on real datasets (digits for Classification and diabetes for Regression). Let me know if there’s anything else you’d like me to tweak! |


Description
This PR introduces LightGBM-based test functions, which includes both a Regressor and a Classifier.
Related Issues
Fixes #6
Type of Change
[ENH]- New feature (non-breaking change adding functionality)How was this solved?
Here is what I did:
LightGBMRegressorFunctionandLightGBMClassifierFunctionclasses.__init__.pyfiles in both foldersChecklist
Required
[ENH]make check(lint, format, isort)Tests
Documentation
Testing
Verification can be performed by instantiating the classes and checking the search space or objective function:
from surfaces.test_functions.machine_learning.hyperparameter_optimization.tabular.regression import LightGBMRegressorFunction lgbm_f = LightGBMRegressorFunction(dataset="diabetes", cv=5) print(lgbm_f.search_space) lgbm_f._create_objective_function() print(f"Pure objective function ready: {lgbm_f.pure_objective_function is not None}")