Comments (5)
From the blog post I got the impression that this generalization was only possible by generalizing the Fortran code as well:
Before v4.0, glmnet() could only optimize the penalized likelihood for special GLM families (e.g. ordinary least squares, logistic regression, Poisson regression). For each family, which we specified via a character string for the family parameter, we had custom FORTRAN code that ran the modified IRLS algorithm above. While this was computationally efficient, it did not allow us to fit any penalized GLM of our choosing.
From v4.0 onwards, we can do the above for any GLM family in practice. [...] Underneath the hood, instead of having custom FORTRAN code for each family, we have a FORTRAN subroutine that solves (2) efficiently.
from glmnet.jl.
I updated the binary builder repo to the latest source: JuliaPackaging/Yggdrasil#2028
However, when I try using the new JLL version it doesn't seem to work, so help may be needed debugging that.
I looked at the diff between the source we are using and the latest copy from the glmnet repo, and the good news is that it seems like the changes are largely cosmetic, with the biggest change being the introduction of a progress meter integrated with R. I couldn't find any significant changes to the actual algorithm from a quick look through:
https://gist.github.com/JackDunnNZ/b04d15fc48fb33db9cff248582c6bc46
from glmnet.jl.
It seems a major difference is that glmnet 4.0 can fit any GLM family, see, e.g. https://statisticaloddsandends.wordpress.com/2020/05/14/glmnet-v4-0-generalizing-the-family-parameter/ and https://cran.r-project.org/web/packages/glmnet/vignettes/glmnetFamily.pdf.
from glmnet.jl.
Sorry, my comment was in reference to changes in the underlying glmnet fortran code, which based on the diff above seems to be largely unchanged - it seems that all of the changes in the recent releases are in the R code instead, and could be ported into Julia without having to update the underlying libglmnet.
from glmnet.jl.
Well they probably know better than I do 😅
from glmnet.jl.
Related Issues (20)
- How to use Multinomial family HOT 4
- Error tagging new release HOT 4
- Constraints dimensions on README HOT 1
- Package compatibility caps
- get coef(cvfit, s = "lambda.min") HOT 6
- how to specify family HOT 1
- Incorrect `null_dev`s
- Feature Request: Loglikelihood function
- Register a DOI for citation purposes?
- Warm starts HOT 1
- TagBot trigger issue HOT 7
- MethodError: glmnet(::Array{Float64,2}, ::Array{Int64,1}) is ambiguous
- glmnetcv(X, y) in quickstart gives error HOT 1
- Relaxed Lasso HOT 9
- Logistic regression fails if y is a string of vectors HOT 1
- Multivariate normal L1 regression
- I cannot set the family as Binomial HOT 1
- `constraints` matrix changes after running glmnetcv
- `cv.meanloss` differs from `cv$cvm` in R
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glmnet.jl.