yixuan / admm Goto Github PK
View Code? Open in Web Editor NEWSolving Statistical Optimization Problems Using the ADMM Algorithm
Solving Statistical Optimization Problems Using the ADMM Algorithm
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
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!
Would it also be possible by any chance to allow for a sparse input matrix (of class "sparseMatrix"), as one can do in glmnet?
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)
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
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.
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"
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 ?
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'
I am very interesting in your package.
Please advise.
Regards
Alex Beylin
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.