linlearn: linear methods in Python

https://travis-ci.org/linlearn/linlearn.svg?branch=master Documentation Status PyPI - Python Version PyPI - Wheel GitHub stars GitHub issues GitHub license https://coveralls.io/repos/github/linlearn/linlearn/badge.svg?branch=master

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

Installation

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+https://github.com/linlearn/linlearn.git

References

Usage

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()
clf.fit(X_train, y_train)
y_pred = clf.predict_proba(X_test)[:, 1]

Where to go from here?