Kernel methods are versatile, and Kernalytics exploits this property through a generic data analysis framework. It allows for easy extension: new algorithms, data types, kernels and optimizations are easily compatible with each other. This is possible through the Gram matrix computation which acts as an abstraction linking every module. Heterogeneous data sets are supported through linear combination of kernels.
Current implementations cover:
- algorithms: k-means, offline change point detection, regression, support vector machine, two sample test
- data types: real, vector, matrix
- kernel families: linear, polynomial, gaussian, laplacian
- Gram matrix optimization: direct computation, cached computation, low rank approximation
For easier use, Kernalytics is provided with kernalyzr, a (very shallow) R wrapper.
Kernalytics has been built and run on Windows, macOS and Linux.
Kernalytics is distributed under the AGPL 3.0 licence.
The following people contributed to the development of Kernalytics: Vincent Kubicki, Alain Celisse.
Copyright Inria - Université de Lille - CNRS
Install sbt on your machine (see Build instructions). Open the kernalyzr directory in RStudio, then press CRTL + SHIFT + B
.
To create and run some working examples in the (preferably empty) current directory, type the following commands in the R console:
library(kernalyzr) # load kernalyzr
copyTest() # generate the test cases
runTest() # run kernalyz algorithms on each test case
For more details on the data format, see the documentation on input / output format.
Kernalytics is at the moment a proof of concept which has been used on a few real data sets. A lot of things are missing, as indicated in the list of things to do. However, the modular architecture can be considered stable and functional.
The Technology Readiness Level could be considered 4 or 5: feasibility has been proven, and demonstration must be carried out.