PICASSO: Penalized Generalized Linear Model Solver - Unleash the Power of Non-convex Penalty
L1 penalized regression (LASSO) is great for feature selection. However when you use LASSO in very noisy setting, especially when some columns in your data have strong colinearity, LASSO tends to give biased estimator due to the penalty term. As demonstrated in the example below, the lowest estimation error among all the lambdas computed is as high as 16.41%.
- Linux or MacOS
Windows User: It may take lots of effort to build on Windows. One way to do it is using mingw/mingw64. Be careful of issues like the system bits and environment variables. Once the correct make tools and g++ are setted up, you can install the package from suorce with the following instruction.
In the following process, you may need to be root (sudo
).
Install from source file (Github) with Makefile:
- Clone
picasso.git
viagit clone --recurse-submodules https://github.com/jasonge27/picasso.git
- Make sure you have setuptools
- Run
sudo make Pyinstall
command.
Install from source file (Github) with CMAKE:
- Clone
picasso.git
viagit clone --recurse-submodules https://github.com/jasonge27/picasso.git
- Make sure you have setuptools
- Build the source file first via the
cmake
withCMakeLists.txt
in the root directory. (You will see a.so
or.lib
file under(root)/lib/
) - Run
cd python-package; sudo python setup.py install
command.
Install from PyPI:
pip install pycasso
- Note: Owing to the setting on different OS, our distribution might not be working in your environment (especially in Windows). Thus please build from source.
You can test if the package has been successfully installed by:
import pycasso
pycasso.test()
import pycasso
x = [[1,2,3,4,5,0],[3,4,1,7,0,1],[5,6,2,1,4,0]]
y = [3.1,6.9,11.3]
s = pycasso.Solver(x,y)
s.train()
s.predict()
Please follow the sphinx syntax style
To update the document: cd doc; make html
Author: | Jason Ge, Haoming Jiang |
---|---|
Maintainer: | Haoming Jiang <[email protected]> |