jolars / sortedl1

Python package for Sorted L-One Penalized Estimation (SLOPE)

Home Page:https://jolars.github.io/sortedl1/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sortedl1

CI PyPI version codecov

sortedl1 is a python package for Sorted L-One Penalized Estimation (SLOPE).

Installing

The current release can be installed from PyPI by running

pip install sortedl1

You can also install the latest development version via pip by calling

pip install git+https://github.com/jolars/sortedl1

Alternatively, you can clone the repository and install the package locally by running

pip install .

Installing from source requires a C++17 compatible compiler.

Usage

Estimators in sortedl1 are compatible with the scikit-learn interface.

import numpy as np
from numpy.random import default_rng

from sortedl1 import Slope

# Generate some random data
n = 100
p = 3

seed = 31
rng = default_rng(seed)

x = rng.standard_normal((n, p))
beta = rng.standard_normal(p)
y = x @ beta + rng.standard_normal(n)

# Fit the model
model = Slope(alpha=0.1)
model.fit(x, y)

# Print the coefficients
print(model.coef_)

Contributing

The backbone of the package is written in C++ and developed in a separate repository at https://github.com/jolars/libslope. So if you have any issues with the package other than such that are specific to the python interface, please report them there. But feel free to request features here.

When writing commit messages, please use the conventional commits format.

Versioning

sortedl1 uses semantic versioning.

About

Python package for Sorted L-One Penalized Estimation (SLOPE)

https://jolars.github.io/sortedl1/

License:GNU General Public License v3.0


Languages

Language:C++ 89.1%Language:Python 8.0%Language:CMake 1.7%Language:Makefile 1.0%Language:C 0.2%