Skip to content

Releases: jolars/SLOPE

SLOPE 0.5.1

09 Jul 18:25
Compare
Choose a tag to compare

Minor Changes

  • Website updated to bootstrap 5-based pkgdown theme.
  • Updated e-mail of maintainer.
  • Dependencies on checkmate and mice were dropped.
  • Update sparse matrix coercion to avoid deprecated functionality in the Matrix
    package.

SLOPE 0.5.0

10 Jun 06:52
Compare
Choose a tag to compare

Major changes

  • plot.SLOPE(), plot.trainSLOPE() and plotDiagnostics() have been
    reimplemented in ggplot2.

Deprecated Functions

  • caretSLOPE() has been deprecated and will be made defunct in version
    0.6.0.

SLOPE 0.4.1

14 Mar 14:27
Compare
Choose a tag to compare

Bug Fixes

  • The C++ standard library memory was added to a source file to fix
    compilation errors on some systems.

SLOPE 0.4.0

10 Dec 08:43
Compare
Choose a tag to compare

New Functions

  • sortedL1Prox() is a new function that computes the proximal operator for the
    sorted L1 norm (the penalty term in SLOPE).
  • regularizationWeights() is a new function that returns the penalty weights
    (lambda sequence) for SLOPE or OSCAR.

Major changes

  • The parametrization for OSCAR models have been corrected and changed. As a
    result, SLOPE() gains two arguments: theta1 and theta2 to control the
    behavior using the parametrization from L. W. Zhong and J. T. Kwok, “Efficient
    sparse modeling with automatic feature grouping,” IEEE Transactions on Neural
    Networks and Learning Systems, vol. 23, no. 9, pp. 1436–1447, Sep. 2012, doi:
    10.1109/TNNLS.2012.2200262. q is no longer used with OSCAR models. Thanks,
    Nuno Eusebio.
  • SLOPE() has gained a new argument, prox_method, which allows the user to
    select prox algorithm to use. There is no an additional algorithm in the
    package, based on the PAVA algorithm used in isotonic regression, that
    can be used. Note that this addition is mostly of academic interest and
    does not need to be changed by the user.

Minor Changes

  • The q parameter is no longer allowed to be smaller than 1e-6 to avoid
    constructions of regularization paths with infinite lambda values.
  • The lambda argument in SLOPE() now also allowed the input "lasso" to
    obtain the standard lasso.
  • The performance of trainSLOPE()

Vignettes

  • A new vignette has been added to compare algorithms for the proximal
    operator.

Bug Fixes

  • For very small numbers of observations (10 or so), the regularization weights
    for lambda = "gaussian" were incorrectly computed, increasing and then
    decreasing. This is now fixed and regularization weights in this case are now
    always non-increasing.
  • Misclassification error was previously computed incorrectly in trainSLOPE()
    for multinomial models (thanks @jakubkala and @KrystynaGrzesiak)
  • Performance of trainSLOPE() was previously hampered by erroneous
    refitting of the models, which has been fixed now (thanks @jakubkala and
    @KrystynaGrzesiak)

Deprecated and Defunct

  • yvar argument in plotDiagnostics() that was previously deprecated is
    now defunct.
  • Using missclass for the measure argument in trainSLOPE() has been
    deprecated in favor of misclass.

SLOPE 0.3.3

17 Mar 10:55
Compare
Choose a tag to compare

Bug fixes

  • Fixed first coefficient missing from plot if no intercept was used in
    the call to SLOPE().
  • Fixed incorrect results when intercept = FALSE and family = "gaussian"
    (#13, thanks, Patrick Tardivel).

SLOPE 0.3.2

10 Jul 20:22
Compare
Choose a tag to compare

Minor changes

  • Added tol_rel_coef_change argument to SLOPE() as a convergence
    criterion for the FISTA solver that sets a tolerance for the relative
    change in coefficients across iterations.

Bug fixes

  • Fixed premature stopping of the solver for the first step of the
    regularization path (the null model).
  • Actually fix UBSAN/ASAN sanitizer warnings by modifying code for
    FISTA solver.

SLOPE 0.3.1

07 Jul 08:33
Compare
Choose a tag to compare

Bug fixes

  • Fixed package build breaking on solaris because of missing STL namespace
    specifier for std::sqrt() in src/SLOPE.cpp.
  • Fixed erroneous scaling of absolute tolerance in stopping criteria for
    the ADMM solvers. Thanks, @straw-boy.
  • Fixed sanitizer warning from CRAN checks.

SLOPE 0.3.0

02 Jul 14:28
Compare
Choose a tag to compare

Major changes

  • Scaling of alpha (previously sigma) is now invariant to the
    number of observations, which is achieved by scaling
    the penalty part of the objective by the square root of the number of
    observations if scale = "l2" and the number of observations if
    scale = "sd" or "none". No scaling is applied when scale = "l1".
  • The sigma argument is deprecated in favor of alpha in SLOPE(),
    coef.SLOPE(), and predict.SLOPE().
  • The n_sigma argument is deprecated in favor of path_length in SLOPE()
  • The lambda_min_ratio argument is deprecated in favor of alpha_min_ratio in
    SLOPE()
  • The default for argument lambda in SLOPE() has changed from "gaussian"
    to "bh".
  • Functions and arguments deprecated in 0.2.0 are now defunct and have
    been removed from the package.
  • scale = "sd" now scales with the population standard deviation rather
    than the sample standard deviation, i.e. the scaling factor now used
    is the number of observations (and not the number of observations minus one
    as before).

Minor changes

  • Default path_length has changed from 100 to 20.
  • plot.SLOPE() has gained an argument x_variable that controls what is
    plotted on the x axis.
  • A warning is now thrown if the maximum number of passes was reached
    anywhere along the path (and prints where as well).
  • If the max_variables criterion is hit, the solution path returned
    will now include also the last solution (which was not the case
    before). Thanks, @straw-boy.

Bug fixes

  • Plotting models that are completely sparse no longer throws an error.
  • rho instead of 1 is now used in the factorization part for
    the ADMM solver.

SLOPE 0.2.1

16 Apr 18:38
Compare
Choose a tag to compare

Minor changes

  • A few examples in deviance() and SLOPE() that were taking
    too long to execute have been removed or modified.