Skip to content

Latest commit

 

History

History

python-package

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Picasso Python Package

PICASSO: Penalized Generalized Linear Model Solver - Unleash the Power of Non-convex Penalty

Unleash the power of nonconvex 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%.

Requirements

  • 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.

Installation

In the following process, you may need to be root (sudo).

Install from source file (Github) with Makefile:

  • Clone picasso.git via git 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 via git clone --recurse-submodules https://github.com/jasonge27/picasso.git
  • Make sure you have setuptools
  • Build the source file first via the cmake with CMakeLists.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()

Usage

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()

For Developer

Please follow the sphinx syntax style

To update the document: cd doc; make html

Copy Right

Author:Jason Ge, Haoming Jiang
Maintainer:Haoming Jiang <[email protected]>