SHOGUN  4.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Interfaces.mainpage
Go to the documentation of this file.
1 /*!
2 \page interfaces Interfaces
3 
4 SHOGUN comes as a stand-a-lone program accepting input via command-line or from
5 a *script* file, where standard file IO is used to read in /write out data
6 (optionally even tcp/ip). More importantly, it interfaces to established matrix
7 and statistics packages, such as Matlab(tm), Octave, R and Python. SHOGUN comes
8 in three flavours, the so called
9 \subpage modularinterfaces, the
10 \subpage staticinterfaces, and the \subpage elwmsinterface
11 
12 \li
13 The modular interfaces are very flexible in nature, as they allow an arbitrary
14 number of objects potentially interacting together. For example several SVMs
15 with using multiple kernels or preprocessors, with the kernels relying on other
16 machine learning methods (like e.g. HMMs). The modular interfaces are
17 automatically generated by a tool called SWIG, and some languages are better
18 supported than others. Currently the best supported and most extensively tested
19 modular interface is for Python, but the Octave, Java, Ruby, C#, R and Lua
20 interfaces are also supported though not as extensively tested. For further
21 information
22 \ref modularinterfaces "see Modular Interfaces"
23 
24 \li
25 The static interfaces are cross language compatible, i.e. the syntax for calling
26 shogun from python,R,matlab,octave is the same (with minor exceptions). However
27 only a singly object of each type is supported (e.g. only a single SVM
28 classifier). In case you are dealing with more complex models it is suggested to
29 use the object oriented, very flexible python-modular interface. Note that all
30 interfaces should work equally well, though some may not support more advanced
31 data types like byte matrices. For further information
32 \ref staticinterfaces "see Static Interfaces"
33 
34 \li
35 The special Eierlegende Wollmilchsau (elwms) interface is a chimera that in one
36 file interfaces to python,R,matlab,octave. Using it provides one with the
37 advantage of running e.g., python or R scripts within octave (where variables
38 are passed in memory). \ref elwmsinterface "see ELWMS Interface"
39 
40 */

SHOGUN Machine Learning Toolbox - Documentation