Semi-Supervised Ensemble Learning
Overview
Weighted-ensemble regression over base learners supported by 'caret' (Kuhn (2008) doi:10.18637/jss.v028.i05), with cross-validated hyperparameter selection, out-of-fold diagnostics, and signed residual- offset estimates. Multi-response problems use iterative input-space expansion related to Spyromitros-Xioufis et al. (2016) doi:10.1007/s10994-016-5546-z, with Jacobi or 'Gauss-Seidel' sweeps, package-defined companion gates and per-response iteration stitching. A package-defined pseudo-label stage promotes prediction rows by a cross-model and cross-dataset range ratio and accepts rounds with an out-of-fold squared-correlation gauge.
Bug fixes
removeOutliersIQR()applies the interquartile envelopes of the inspected predictors together instead of one at a time. The loop rebuilt the surviving set from the original data on each pass, so only the last inspected column ever narrowed it: with an outlier seeded in each of three columns the function removed one row of sixty. It now removes all three. A dataset whose ranked predictors are all non-numeric returns unchanged rather than failing in a C stack overflow, and a missing value in an inspected column no longer decides its row, because a value that cannot be compared to an envelope is not evidence of an outlier.
Behavior changes
- Stage 3 prediction skips a cell whose
TESTsplit holds no rows, with a warning, instead of aborting the run.buildDataset()can drop every test row of a cell when a predictor lacks coverage, which is routine in chain datasets; the run previously stopped on a type mismatch. The Stage 2 metrics and out-of-fold predictions of the skipped cell stand, and the cell contributes no delivery rows.
Show all changes in 0.4.0Hide the rest of the changes in 0.4.0
- The chain stitch excludes a declared response that produced no iteration-0 metric row, with a warning, instead of aborting. Such a response has no fitted cell in any iteration — every cell was skipped for insufficient support — so it has no delivery rows to preserve.
Removals
- The
resamplingargument and its temporaltimeslicemode are removed frommodelPipeline(),chainPipeline(),trainModel()andtrainRegressionModel(), together with the internal.resolveResampling()helper, its short-series guard, its test file, and its vignette. The argument never reached a released version: it was added after 0.3.1 was published, and no consumer passed it. Fitting returns to the single k-fold generator it used before, and every artifact of a default run is unchanged. Time-respecting evaluation belongs to a separate forecast API whose unit is a series rather than a row, and which needs a horizon axis that none of the present artifacts carry. Threading a fold generator through the supervised path could not provide it.
Documentation
- The help topics of
trainModel()andtrainRegressionModel()describe the layers of the training API as they behave: which stage owns each directory, what each mode reads and writes, and where the ensemble weights come from. The ensemble-theory article gains the matching derivation. removeOutliersIQR()states what it does. The topic previously described envelopes that the function did not apply, and did not mention that the response column must be namedyor that the caret formula interface rejects missing values before any envelope is computed.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-04
- NOTE11 OK, 1 NOTE2026-08-01
- OK7 OK2026-07-29
Documentation
- Help pages
- 21 (1 internal)includes a package overview page
- Examples that run
- 71%12 run in a plain check · 5 only when donttest examples are enabled (R CMD check --as-cran)
- Exported functions with examples
- 85%
- Documented parameters
- 85%
- Return-value docs
- 100%
- Help pages citing references
- 43% with a bibliography file
Downloads
Repository
Repository github.com/averrik/ssel is linked, but repository-practices checks have not run for it yet.
Dependencies
Installing ssel adds 74 packages (40 with compiled code, 59 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 0.4.0Latest
- 0.3.12026-07-28
- RR 4.6.0 released · 2026-04-24
Package metadata
- First published
- 2026-07-28
- Total releases
- 2 / 1 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 4.1.0
- Download size
- 181 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("ssel")The package provides a citation file that builds its entry when R runs it. Run citation() to see it.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-23, which the citation names so these numbers can be found later. More on citing and the projects behind them.