Code Monkey home page Code Monkey logo

Comments (9)

AdaemmerP avatar AdaemmerP commented on June 2, 2024 1

Thanks for the great package!
Would it be possible to change 'CompressedPredictorMatrix' to a mutable struct? This would allow modifying the predicted values and implementing the relaxed lasso.

from glmnet.jl.

JackDunnNZ avatar JackDunnNZ commented on June 2, 2024

I had a quick look through how this is implemented in the R package, and it looks like the logic for the relaxed option sits in the R code, rather than in the core fortran library. So unfortunately it looks like we can't simply access the relaxed option from the core compiled library, instead this R logic would need to be duplicated into the Julia package which is a bigger undertaking.

from glmnet.jl.

azev77 avatar azev77 commented on June 2, 2024

I see, That means it’s likely to be faster in the julia version

from glmnet.jl.

JackDunnNZ avatar JackDunnNZ commented on June 2, 2024

I think that should be fine, although it might be better to update the code to use a generic sparse matrix instead rather than the custom struct. I'm not too familiar with the internals of the package but it feels like that should be possible?

from glmnet.jl.

AdaemmerP avatar AdaemmerP commented on June 2, 2024

Yes, a sparse matrix might be better to save the parameters. Regarding the struct, I think line 90 should be changed to a mutable struct: https://github.com/JuliaStats/GLMNet.jl/blob/master/src/GLMNet.jl
Or is there any other possibility to change and save the values? I want to modify the parameters and then use them with GLMNet.predict()

from glmnet.jl.

JackDunnNZ avatar JackDunnNZ commented on June 2, 2024

Or is there any other possibility to change and save the values?

You may be able to use Setfield.jl or Accessors.jl to easily update the GLMNetPath with new coefficients, something like

new_path = @set path.betas = new_betas

from glmnet.jl.

AdaemmerP avatar AdaemmerP commented on June 2, 2024

Nice, thanks for the tip!

from glmnet.jl.

azev77 avatar azev77 commented on June 2, 2024

@AdaemmerP did you have any luck implementing the relaxed Lasso?

from glmnet.jl.

AdaemmerP avatar AdaemmerP commented on June 2, 2024

@azev77 Yes, I was able to implement but within a time series framework (https://github.com/AdaemmerP/DetectSparsity/blob/main/CaseStudies/Functions.jl, lines 337 - 501). I also used the Lasso.jl package for it.

from glmnet.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.