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.
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.
QARMA team - LIF
QARMA team - LIF