sortedl1 is a python package for Sorted L-One Penalized Estimation (SLOPE).
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.
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_)
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.
sortedl1 uses semantic versioning.