Release 3.1.2: #118 gg_varpro fix + unsupervised varPro wrappers#121
Open
ehrlinger wants to merge 2 commits into
Open
Release 3.1.2: #118 gg_varpro fix + unsupervised varPro wrappers#121ehrlinger wants to merge 2 commits into
ehrlinger wants to merge 2 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #121 +/- ##
==========================================
+ Coverage 87.04% 87.71% +0.66%
==========================================
Files 44 48 +4
Lines 3938 4208 +270
==========================================
+ Hits 3428 3691 +263
- Misses 510 517 +7
🚀 New features to boost your workflow:
|
gg_varpro() failed with the cryptic "arguments imply differing number of rows: <p>, 0" when varPro::importance() returns a degenerate importance table — 0 rows, or p named variables with no usable `z` column — observed intermittently on survival fits where the release-rule step selects no variables. .build_varpro_imp_dfs() now detects that (length(z) != length(vars), or 0 vars) and stops with a clear, specific message suggesting a larger ntree. Scoped to the degenerate case only: well-formed fits (survival included) have length(z) == length(vars) > 0 and are unaffected. This is NOT a blanket survival-family block (cf. the reverted #116). Tests exercise the guard via the internal with a constructed importance table (CRAN-safe, no varPro grow), including a positive case proving the working path is preserved. Version bump to 3.1.2 (DESCRIPTION + NEWS). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fold the unsupervised varPro wrappers (originally PR #120 on dev) into the 3.1.2 release line alongside the #118 fix: - gg_beta_uvarpro() / plot/print/summary/autoplot: tidy wrapper for varPro::get.beta.entropy() (unsupervised lasso importance), the analogue of gg_beta_varpro(); colMeans(|beta|) per variable + cutoff/selected, with a precomputed beta_fit cache path. - gg_sdependent() / plot/print/summary/autoplot: tidy wrapper for varPro::sdependent() signal-variable detection (imp_score / degree / signal flag), complementing gg_udependent()'s graph. Frame-building split into .gg_sdependent_build() to keep cyclomatic complexity under the lint cap. Tests are CRAN-safe (constructed matrices, no varPro grow) with skip_on_cran live-integration cases. lint_package() = 0; NEWS entries under v3.1.2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
51e9c0b to
4d23f4f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ggRandomForests 3.1.2 — bundles the #118 fix and the unsupervised varPro wrappers (folded in from #120, per the decision to ship both in 3.1.2).
Contents
1. Fix #118 —
gg_varpro()empty importancegg_varpro()failed with the cryptic "arguments imply differing number of rows:, 0" when
varPro::importance()returns a degenerate table (0 rows, orprows with nozcolumn — seen intermittently on survival fits). A scoped guard in.build_varpro_imp_dfs()now stops with a clear, specific message. Not a survival-family block (cf. reverted #116). Closes #118.2.
gg_beta_uvarpro()— tidy wrapper + plot/print/summary/autoplot forvarPro::get.beta.entropy()(unsupervised lasso importance; analogue ofgg_beta_varpro()).3.
gg_sdependent()— tidy wrapper + plot/print/summary/autoplot forvarPro::sdependent()signal-variable detection (imp_score/degree/signal), complementinggg_udependent()'s graph.Tests / quality
skip_on_cranlive-integration cases.lint_package()= 0; version-sync test green; DESCRIPTION + NEWS bumped to 3.1.2.Base
Stacked on the 3.1.1 branch (
fix/cran-ubsan-varpro-skip) for a clean diff. Retarget tomainonce #119 (3.1.1) merges.Supersedes #120 (which targeted
dev); the v4.0.0/devline picks these up when it next syncsmain.🤖 Generated with Claude Code