A scikit-learn compatible toolbox for the spectral learning of weighted automata

What it is

Scikit-SpLearn is a python toolbox implementing spectral learning algorithms for weighted automata. The toolbox is compliant with the well-known scikit-learn machine learning platform. In particular, all data tools of sk-learn, like cross-validation and gridsearch, can be used with scikit-splearn.

A paper presenting the toolbox has been published in the proceedings of the peer-reviewed conference CAp 2017 (Conférence en Apprentissage - French Machine Learning Conference). You can find it here.

If you do not know what spectral learning is, the best is to have a look at this tutorial and/or this paper. Quickly, these algorithms aims at learning weighted automata (WA), that are strict extensions of probabilistic automata (PA) and of Hidden Markov Models (HMM). The approach mainly consists in extracting eigenvalues using a singular values decomposition of an object called the Hankel matrix. Several variants of this matrix exist and are implemented in the toolbox.

Scikit-splearn is highly configurable and provides in addition a weighted automaton class that contains a bunch of usefull methods, including for instance a numerically stable minimization function for probabilistic automata, following the work of Stephan Kiefer & Björn Wachter.

Scikit-splearn, licensed under Free BSD, is a scikit compliant version of the SPiCe Spectral Learning (Sp2Learn) toolbox described in this paper and previously released in the context of the SPiCe competition. Sp2Learn is not maintained anymore.

How to install it

Scikit-splearn is easy to install thanks to the pip command:
pip install scikit-splearn

You can also download the sources here and install then the toolbox the way you like.

How to use it

In order to maintain this website to a reasonable size we will not give here much details about all the possible ways to use scikit-splearn. We refer you to:
This detailed documentation where you will find use cases and a lot more,
This technical manual,
These slides used to present the toolbox at ICGI 2016.


This toolbox is a collaborative work between researchers of the Laboratoire d'Informatique Fondamentale of Marseille (UMR CNRS 7279) and the developing team of the LabEx Archimède of Aix-Marseille University (ANR-11-LABX-0033).

Who is doing it

  • Denis Arrivault

    Labex Archimède

    Dominique Benielli

    Labex Archimède

    François Denis

    QARMA team - LIF

    Rémi Eyraud

    QARMA team - LIF