Repository navigation
fix: apply LightGBM dataset parameters during creation - #2774
Rana Singh (ranadeepsingh) merged 1 commit into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Hey Lenin Mookiah (@leninworld) 👋! We use semantic commit messages to streamline the release process. Examples of commit messages with semantic prefixes:
To test your commit locally, please follow our guild on building from source. |
There was a problem hiding this comment.
🟢 Approval recommended
No blocking issues remain, and focused regression coverage addresses both transfer modes; tests were not independently rerun.
0 open findings
What changed in this PR
Fixes #2769 by applying LightGBM dataset settings during dataset creation, before training.
Changes:
- Forwards binning, sparsity, and missing-value settings.
- Corrects
min_data_in_binserialization and validatesmaxBinByFeature. - Adds bulk and streaming regression tests.
| File | Description |
|---|---|
| lightgbm/src/test/scala/com/microsoft/azure/synapse/ml/lightgbm/split1/VerifyLightGBMDatasetParams.scala | Tests forwarding, invalid inputs, and training behavior. |
| lightgbm/src/main/scala/com/microsoft/azure/synapse/ml/lightgbm/params/BaseTrainParams.scala | Corrects the native parameter key and removes duplication. |
| lightgbm/src/main/scala/com/microsoft/azure/synapse/ml/lightgbm/LightGBMBase.scala | Forwards dataset settings and validates per-feature bins. |
🧠 Review effort: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2774 +/- ##
==========================================
+ Coverage 87.88% 87.91% +0.02%
==========================================
Files 346 346
Lines 21438 21444 +6
Branches 2226 2233 +7
==========================================
+ Hits 18841 18852 +11
+ Misses 2597 2592 -5
🚀 New features to boost your workflow:
|
|
Thanks Lenin Mookiah (@leninworld)! This fixes a real issue: explicit LightGBM binning and missing-value settings were reaching training too late to affect dataset creation. I kept your implementation and tests unchanged and independently validated
Engineering validation is complete for this head. The remaining merge gate is one maintainer approval; this comment is validation evidence, not that approval. No source changes were pushed. |
0543bf7
into
microsoft:master
## Summary Strengthen external-contributor and PR-loop guidance with revision-pinned readiness, Azure job-attempt and named-test evidence, trusted-guidance verification, and explicit validation-only success without maintainer edits. Keep evidence collection separate from authorization and merge approval. ## Prompting Intent The engineer asked to implement the agreed lessons from recent external PR validation work and open a pull request. Preserve contributor ownership, reuse the existing workflow and watcher, and avoid product, dependency, release, or CI-definition changes. Continue the required reviews and publish their history. ## Linked Sources - Recent external PR validation: microsoft#2774 - External-contributor guidance: .github/skills/synapseml-external-contributor-review/ - PR-loop guidance and review policy: .github/skills/synapseml-pr-loop/ - Existing CI discovery: pipeline.yaml, CIHelpers - Regression evidence: tools/ci/tests/test_get_pr_readiness.py, test_collect_ci_evidence.py, test_trusted_guidance.py, test_watch_azure_pipeline.py - Pre-commit review: six independent clean lenses on the frozen pass-12 patch; original review drafts will be published under the assigned PR number. ## Rationale Extend the existing watcher and share its read-only Azure collector rather than add another polling framework. Fail closed on stale or incomplete evidence without equating technical validation with human approval. Keep secret-bearing CI authorization in the external-contributor contract. Verify a previously trusted snapshot rather than let candidate guidance authenticate itself. Extract the review gauntlet without changing its policy. Use offline regressions for destructive trigger guards and live read-only checks for API provenance. This is a non-feature tooling chore; the PR carries documentation/build labels. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0bb95beb-b5fd-44e0-9fc0-9d036d4c74c7
## Summary Harden PR readiness, Azure build and named-test collection, bounded polling, and trusted-guidance verification. Add regression coverage and make the no-bloat gate and permission boundaries explicit. ## Prompting Intent The engineer requested merge-ready validation except human review, removal of useless changes and files, and publication of the updates. No merge or secret-bearing CI trigger is included in this commit. ## Linked Sources - Pull request: microsoft#2775 - Related validation lessons: microsoft#2774 - Review and finding dispositions: reviews/pr-2775/ - Repository guidance: AGENTS.md - Validation contracts: .github/skills/synapseml-pr-loop/ ## Rationale Extend existing helpers rather than introduce a parallel validation system. Separate collected evidence, engineering readiness and human approval; reject stale, incomplete or mismatched evidence. Preserve superseded safe review feedback in a published archival commit before pruning it from the final diff. All six pre-commit lenses passed the same source patch; current-head Azure validation and final CI-qualified review remain outstanding. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0bb95beb-b5fd-44e0-9fc0-9d036d4c74c7
This PR fixes issue #2769.
Related Issues/PRs
Fix #2769
What changes are proposed in this pull request?
maxBinByFeature,minDataPerBin,isEnableSparse,useMissing, andzeroAsMissingsettings when LightGBM datasets are created.min_data_in_binkey and remove the later duplicate invalidmin_data_per_binentry.maxBinByFeaturebefore invoking native LightGBM.How is this patch tested?
Validation on Linux amd64 Docker with Java 11.0.32, Spark 3.5.0, Scala 2.12, and Python 3.11.8:
git diff --checkpassed.The manual Fabric multi-executor regression script was not run locally. Dataset parameters supplied only through
passThroughArgsremain outside this change.Does this PR change dependencies?
Does this PR add a new feature? If so, how is this feature tested?