Giter Club home page Giter Club logo

admm's People

Contributors

jaredhuling avatar joegaotao avatar yixuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

admm's Issues

Fit GLMs with other distributions?

Nice package! Would it also be possible to use the same approach to fit other families/distributions, as one can do in glmnet, such as multivariate gaussian, multinomial, binomial or Poisson?

Use sparse input matrix?

Would it also be possible by any chance to allow for a sparse input matrix (of class "sparseMatrix"), as one can do in glmnet?

Questions about the sparse lasso soluction from the implemented ADMM

I have a question about the estimated sparse LASSO coefficients. Based on Dr. Boyd MATLAB code in standford the estimated coefficients are small, but not zero.

The readme file shows that the implemented ADMM method has sparse-patten estimated coefficients, similar to that from the glmnet. I was curious how could you achieve that? I am not familiar with cpp so am not able to find the trick.

Thanks

API not very friendly to programming

The current design of ADMM package funtions adopts the fluent style of programming, that is, the operations are done in a pipeline.

This can be friendly to interactive usage of model fitting functions, easier to read and write, rather than confused by so many parameters in one call.

However, the downside is obvious too. It is not very friendly to programming purposes. If I'm creating a general framework of modeling which supports a number of existing modeling packages (e.g., glmnet, xgboost, randomForest), it would be not easy to forward arguments to ADMM functions.

It would be appreciated if a simple argument-based interface is provided.

Thanks again, great work!

Fail to install on Mac

I have attempted to seek any possible solutions in StackOverflow,however, I am failed to find a good way to fix these bugs. As the error said:

clang: error: no such file or directory: '/usr/local/lib/libfontconfig.a'
clang: error: no such file or directory: '/usr/local/lib/libreadline.a'

some C++ problem occur and many said the problem is Xcode Path, but I have installed Xcode and command line.

xcode-select -p
/Applications/Xcode.app/Contents/Developer

I need your help.Here is some other useful information which may help you.

My sessionInfo()

> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-apple-darwin14.5.0 (64-bit)
Running under: OS X 10.11.3 (El Capitan)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] httr_1.0.0     R6_2.1.1       magrittr_1.5   tools_3.2.2    curl_0.9.3    
 [6] memoise_0.2.1  stringi_0.5-5  stringr_1.0.0  digest_0.6.8   devtools_1.9.1
R.home()
[1] "/Library/Frameworks/R.framework/Resources"

uname

Darwin harryzhu.local 15.3.0 Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64

Nonnegative constraints on fitted coefficients?

Would it be possible by any chance to also allow constraints on the fitted coefficients to be specified (e.g. nonnegativity), as one can do in glmnet using options lower.limits and upper.limits ?

Demo bug from http://statr.me/admm/

When I run this command, I find a bug.

fit3 = mod3$fit()
Error in .Call("admm_dantzig", .self$x, .self$y, .self$lambda, .self$nlambda,  : 
  "admm_dantzig" not available for .Call() for package "ADMM"

Fail to install on Centos

I am trying to install ADMM on my centos server, it fails too.

Here is the bug.

* installing *source* package ?.DMM?....
** libs
g++ -I/usr/local/R/lib64/R/include -DNDEBUG  -I/usr/local/include -I"/usr/local/R/lib64/R/library/Rcpp/include" -I"/usr/local/R/lib64/R/library/RcppEigen/include"  -fopenmp -fpic  -g -O2  -c BP.cpp -o BP.o
g++ -I/usr/local/R/lib64/R/include -DNDEBUG  -I/usr/local/include -I"/usr/local/R/lib64/R/library/Rcpp/include" -I"/usr/local/R/lib64/R/library/RcppEigen/include"  -fopenmp -fpic  -g -O2  -c Enet.cpp -o Enet.o
In file included from Spectra/SymEigsSolver.h:20:0,
                 from ADMMLassoTall.h:6,
                 from ADMMEnet.h:4,
                 from Enet.cpp:3:
Spectra/LinAlg/TridiagEigen.h: In instantiation of ?.oid Spectra::TridiagEigen<Scalar>::compute(Spectra::TridiagEigen<Scalar>::ConstGenericMatrix&) [with Scalar = float; Spectra::TridiagEigen<Scalar>::ConstGenericMatrix = const Eigen::Ref<const Eigen::Matrix<float, -1, -1> >; typename Eigen::internal::conditional<const Eigen::Matrix<LhsScalar, -1, -1, 0>::IsVectorAtCompileTime, Eigen::InnerStride<1>, Eigen::OuterStride<> >::type = Eigen::OuterStride<>]?.
Spectra/LinAlg/TridiagEigen.h:46:20:   required from ?.pectra::TridiagEigen<Scalar>::TridiagEigen(Spectra::TridiagEigen<Scalar>::ConstGenericMatrix&) [with Scalar = float; Spectra::TridiagEigen<Scalar>::ConstGenericMatrix = const Eigen::Ref<const Eigen::Matrix<float, -1, -1> >; typename Eigen::internal::conditional<const Eigen::Matrix<LhsScalar, -1, -1, 0>::IsVectorAtCompileTime, Eigen::InnerStride<1>, Eigen::OuterStride<> >::type = Eigen::OuterStride<>]?
Spectra/SymEigsSolver.h:308:42:   required from ?.oid Spectra::SymEigsSolver<Scalar, SelectionRule, OpType>::retrieve_ritzpair() [with Scalar = float; int SelectionRule = 3; OpType = MatOpSymLower<float>]?
Spectra/SymEigsSolver.h:514:27:   required from ?.nt Spectra::SymEigsSolver<Scalar, SelectionRule, OpType>::compute(int, Scalar, int) [with Scalar = float; int SelectionRule = 3; OpType = MatOpSymLower<float>]?
ADMMLassoTall.h:199:33:   required from here
Spectra/LinAlg/TridiagEigen.h:93:107: error: no matching function for call to ?.ridiagonal_qr_step(float*&, float*&, int&, int&, Eigen::PlainObjectBase<Eigen::Matrix<float, -1, -1> >::Scalar*, int&)?
             Eigen::internal::tridiagonal_qr_step<Eigen::ColMajor>(maind, subd, start, end, evecs.data(), n);
                                                                                                           ^
Spectra/LinAlg/TridiagEigen.h:93:107: note: candidate is:
In file included from /usr/local/R/lib64/R/library/RcppEigen/include/Eigen/Eigenvalues:31:0,
                 from /usr/local/R/lib64/R/library/RcppEigen/include/Eigen/Dense:7,
                 from /usr/local/R/lib64/R/library/RcppEigen/include/RcppEigenForward.h:30,
                 from /usr/local/R/lib64/R/library/RcppEigen/include/RcppEigen.h:25,
                 from FADMMBase.h:4,
                 from ADMMLassoTall.h:4,
                 from ADMMEnet.h:4,
                 from Enet.cpp:3:
/usr/local/R/lib64/R/library/RcppEigen/include/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:740:13: note: template<class RealScalar, class Scalar, class Index> void Eigen::internal::tridiagonal_qr_step(RealScalar*, RealScalar*, Index, Index, Scalar*, Index)
 static void tridiagonal_qr_step(RealScalar* diag, RealScalar* subdiag, Index start, Index end, Scalar* matrixQ, Index n)
             ^
/usr/local/R/lib64/R/library/RcppEigen/include/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:740:13: note:   template argument deduction/substitution failed:
make: *** [Enet.o] Error 1
ERROR: compilation failed for package ?.DMM?
* removing ?.usr/local/R/lib64/R/library/ADMM?
Error: Command failed (1)

Adding interfaces for platforms other than R

Hi,
I would like to develop additional interfaces for your library.
I'm not experienced in R packages so can you give me some directions?

Where should I look first in order to develop interfaces.

Installation problem

Dear Sir,

I have problem with ADMM installation. I am using latest R-3.3.0 .
This is what I have finally using the install_github("yixuan/ADMM") command
ParLasso.o:ParLasso.cpp:(.text$_ZN17PADMMLasso_Master4initEdd[_ZN17PADMMLasso_Master4initEdd]+0x12b): undefined reference to ssyrk_' ParLasso.o:ParLasso.cpp:(.text$_ZN17PADMMLasso_Master4initEdd[__ZN17PADMMLasso_Master4initEdd]+0x38e): undefined reference to ssyrk'
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'ADMM'

  • removing 'C:/Users/Alex Beylin/Documents/R/win-library/3.3/ADMM'
    Error: Command failed (1)

I am very interesting in your package.
Please advise.

Regards

Alex Beylin

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.