linlearn: linear methods in Python Documentation Status PyPI - Python Version PyPI - Wheel GitHub stars GitHub issues GitHub license

linlearn stands for linear learning. It is a scikit-learn compatible python package for linear learning with Python. It provides :

  • Several estimators, including empirical risk minimization (which is the

standard approach), median-of-means, trimmed means among others for robust regression and classification under the presence of outliers or heavy tails in your data.

  • Several loss functions easily accessible from a single class (BinaryClassifier for binary classification and Regressor for regression)

  • Several penalization functions, including standard L1, ridge and elastic-net, but also total-variation, slope, weighted L1, among many others

  • All algorithms can use early stopping strategies during training

  • Supports dense and sparse data formats, and includes fast solvers for large sparse datasets (using state-of-the-art stochastic optimization algorithms)

  • It is accelerated thanks to numba, leading to a very concise, small, but fast library


The easiest way to install linlearn is using pip

pip install linlearn

But you can also use the latest development from github directly with

pip install git+



linlearn follows the scikit-learn API: you call fit instead of use predict_proba or predict whenever you need predictions.

from linlearn import BinaryClassifier

clf = BinaryClassifier(), y_train)
y_pred = clf.predict_proba(X_test)[:, 1]

Where to go from here?