SHOGUN comes as a stand-a-lone program accepting input via command-line or from a *script* file, where standard file IO is used to read in /write out
data (optionally even tcp/ip). More importantly, it interfaces to established matrix and statistics packages, such as Matlab(tm), Octave, R and Python. SHOGUN comes in two flavours, the so called
Static Interfaces and the
Modular Interfaces
- The static interfaces are cross language compatible, i.e. the syntax for calling shogun from python,R,matlab,octave is the same (with minor exceptions). However only a singly object of each type is supported (e.g. only a single SVM classifier). In case you are dealing with more complex models it is suggested to use the object oriented, very flexible python-modular interface. Note that all interfaces should work equally well, though some may not support more advanced data types like byte matrices. For further information see Static Interfaces
- The modular interfaces are very flexible in nature, as they allow an arbitrary number of objects potentially interacting together. For example several SVMs with using multiple kernels or preprocessors, with the kernels relying on other machine learning methods (like e.g. HMMs). The modular interfaces heavily rely on swig and therefore currently only python is supported (though octave and R support is on the way). For further information see Modular Interfaces