SHOGUN
4.0.0

Eigen  
shogun  All of classes and functions are contained in the shogun namespace 
linalg  
implementation  
special_purpose  
logistic  
logistic< Backend::EIGEN3, Matrix >  
multiply_by_logistic_derivative  
multiply_by_logistic_derivative< Backend::EIGEN3, Matrix >  
rectified_linear  
rectified_linear< Backend::EIGEN3, Matrix >  
multiply_by_rectified_linear_derivative  
multiply_by_rectified_linear_derivative< Backend::EIGEN3, Matrix >  
softmax  
softmax< Backend::EIGEN3, Matrix >  
cross_entropy  
cross_entropy< Backend::EIGEN3, Matrix >  
squared_error  
squared_error< Backend::EIGEN3, Matrix >  
add  Generic class which is specialized for different backends to perform addition 
add< Backend::NATIVE, Matrix >  Partial specialization of add for the Native backend 
add< Backend::EIGEN3, Matrix >  Partial specialization of add for the Eigen3 backend 
convolve  
convolve< Backend::EIGEN3, Matrix >  
dot  Generic class dot which provides a static compute method. This class is specialized for different types of vectors and backend, providing a mean to deal with various vectors directly without having to convert 
dot< Backend::NATIVE, Vector >  Specialization of generic dot for the Native backend 
dot< Backend::EIGEN3, Vector >  Specialization of generic dot for the Eigen3 backend 
elementwise_product  
elementwise_product< Backend::EIGEN3, Matrix >  
elementwise_square  Generic class square which provides a static compute method. This class is specialized for different types of matrices and backend, providing a mean to deal with various matrices directly without having to convert 
elementwise_square< Backend::EIGEN3, Matrix >  Specialization of generic elementwise_square for the Eigen3 backend 
matrix_product  
matrix_product< Backend::EIGEN3, Matrix >  
max  Generic class which is specialized for different backends to perform the max operation 
max< Backend::NATIVE, Matrix >  Specialization of add for the Native backend 
max< Backend::EIGEN3, Matrix >  Specialization of max for the Eigen3 backend 
scale  
scale< Backend::EIGEN3, Matrix >  
set_rows_const  
set_rows_const< Backend::EIGEN3, Matrix, Vector >  
sum  Generic class sum which provides a static compute method. This class is specialized for different types of matrices and backend, providing a means to deal with various matrices directly without having to convert 
sum_symmetric  Generic class sum symmetric which provides a static compute method. This class is specialized for different types of matrices and backend, providing a means to deal with various matrices directly without having to convert 
colwise_sum  Generic class colwise_sum which provides a static compute method. This class is specialized for different types of matrices and backend, providing a means to deal with various matrices directly without having to convert 
rowwise_sum  Generic class rowwise_sum which provides a static compute method. This class is specialized for different types of matrices and backend, providing a means to deal with various matrices directly without having to convert 
sum< Backend::EIGEN3, Matrix >  Specialization of generic sum which works with SGMatrix and uses Eigen3 as backend for computing sum 
sum_symmetric< Backend::EIGEN3, Matrix >  Specialization of generic sum symmetric which works with SGMatrix and uses Eigen3 as backend for computing sum 
colwise_sum< Backend::EIGEN3, Matrix >  Specialization of generic colwise_sum which works with SGMatrix and uses Eigen3 as backend for computing sum 
rowwise_sum< Backend::EIGEN3, Matrix >  Specialization of generic rowwise_sum which works with SGMatrix and uses Eigen3 as backend for computing sum 
vector_sum  Generic class vector_sum which provides a static compute method. This class is specialized for different types of vectors and backend, providing a mean to deal with various vectors directly without having to convert 
vector_sum< Backend::NATIVE, Vector >  Specialization of generic vector_sum for the Native backend 
vector_sum< Backend::EIGEN3, Vector >  Specialization of generic vector_sum for the Eigen3 backend 
Block  Generic class Block which wraps a matrix class and contains block specific information, providing a uniform way to deal with matrix blocks for all supported backend matrices 
DynArray  Template Dynamic array class that creates an array that can be used like a list or an array 
Parallel  Class Parallel provides helper functions for multithreading 
TParameter  Parameter struct 
Parameter  Parameter class 
SGParamInfo  Class that holds informations about a certain parameter of an CSGObject. Contains name, type, etc. This is used for mapping types that have changed in different versions of shogun. Instances of this class may be compared to each other. Ordering is based on name, equalness is based on all attributes 
ParameterMapElement  Class to hold instances of a parameter map. Each element contains a key and a set of values, which each are of type SGParamInfo. May be compared to each other based on their keys 
ParameterMap  Implements a map of ParameterMapElement instances Maps one key to a set of values 
CSGObject  Class SGObject is the base class of all shogun objects 
Unique  
Version  Class Version provides version information 
CAveragedPerceptron  Class Averaged Perceptron implements the standard linear (online) algorithm. Averaged perceptron is the simple extension of Perceptron 
CFeatureBlockLogisticRegression  Class FeatureBlockLogisticRegression, a linear binary logistic loss classifier for problems with complex feature relations. Currently two feature relations are supported  feature group (done via CIndexBlockGroup) and feature tree (done via CIndexTree). Handling of feature relations is done via L1/Lq (for groups) and L1/L2 (for trees) regularization 
CGaussianProcessClassification  Class GaussianProcessClassification implements binary and multiclass classification based on Gaussian Processes 
CLDA  Class LDA implements regularized Linear Discriminant Analysis 
CLPBoost  Class LPBoost trains a linear classifier called Linear Programming Machine, i.e. a SVM using a \(\ell_1\) norm regularizer 
CLPM  Class LPM trains a linear classifier called Linear Programming Machine, i.e. a SVM using a \(\ell_1\) norm regularizer 
CMKL  Multiple Kernel Learning 
CMKLClassification  Multiple Kernel Learning for twoclassclassification 
CMKLMulticlass  MKLMulticlass is a class for L1norm Multiclass MKL 
MKLMulticlassGLPK  MKLMulticlassGLPK is a helper class for MKLMulticlass 
MKLMulticlassGradient  MKLMulticlassGradient is a helper class for MKLMulticlass 
MKLMulticlassOptimizationBase  MKLMulticlassOptimizationBase is a helper class for MKLMulticlass 
CMKLOneClass  Multiple Kernel Learning for oneclassclassification 
CNearestCentroid  Class NearestCentroid, an implementation of Nearest Shrunk Centroid classifier 
CPerceptron  Class Perceptron implements the standard linear (online) perceptron 
CPluginEstimate  Class PluginEstimate 
CCPLEXSVM  CplexSVM a SVM solver implementation based on cplex (unfinished) 
CGNPPLib  Class GNPPLib, a Library of solvers for Generalized Nearest Point Problem (GNPP) 
CGNPPSVM  Class GNPPSVM 
CGPBTSVM  Class GPBTSVM 
CLibLinear  This class provides an interface to the LibLinear library for large scale linear learning focusing on SVM [1]. This is the classification interface. For regression, see CLibLinearRegression. There is also an online version, see COnlineLibLinear 
CLibSVM  LibSVM 
CLibSVMOneClass  Class LibSVMOneClass 
CMPDSVM  Class MPDSVM 
CNewtonSVM  NewtonSVM, In this Implementation linear SVM is trained in its primal form using Newtonlike iterations. This Implementation is ported from the Olivier Chapelles fast newton based SVM solver, Which could be found here :http://mloss.org/software/view/30/ For further information on this implementation of SVM refer to this paper: http://www.kyb.mpg.de/publications/attachments/neco_%5B0%5D.pdf 
COnlineLibLinear  Class implementing a purely online version of CLibLinear, using the L2R_L1LOSS_SVC_DUAL solver only 
COnlineSVMSGD  Class OnlineSVMSGD 
CQPBSVMLib  Class QPBSVMLib 
CSGDQN  Class SGDQN 
CSVM  A generic Support Vector Machine Interface 
CSVMLight  Class SVMlight 
CSVMLightOneClass  Trains a one class C SVM 
CSVMLin  Class SVMLin 
CSVMOcas  Class SVMOcas 
CSVMSGD  Class SVMSGD 
CWDSVMOcas  Class WDSVMOcas 
CVwCacheReader  Base class from which all cache readers for VW should be derived 
CVwCacheWriter  CVwCacheWriter is the base class for all VW cache creating classes 
CVwNativeCacheReader  Class CVwNativeCacheReader reads from a cache exactly as that which has been produced by VW's default cache format 
CVwNativeCacheWriter  Class CVwNativeCacheWriter writes a cache exactly as that which would be produced by VW's default cache format 
CVwAdaptiveLearner  VwAdaptiveLearner uses an adaptive subgradient technique to update weights 
CVwNonAdaptiveLearner  VwNonAdaptiveLearner uses a standard gradient descent weight update rule 
CVowpalWabbit  Class CVowpalWabbit is the implementation of the online learning algorithm used in Vowpal Wabbit 
VwFeature  One feature in VW 
VwExample  Example class for VW 
VwLabel  Class VwLabel holds a label object used by VW 
CVwEnvironment  Class CVwEnvironment is the environment used by VW 
CVwLearner  Base class for all VW learners 
CVwParser  CVwParser is the object which provides the functions to parse examples from buffered input 
CVwRegressor  Regressor used by VW 
CGMM  Gaussian Mixture Model interface 
CHierarchical  Agglomerative hierarchical single linkage clustering 
CKMeans  KMeans clustering, partitions the data into k (apriori specified) clusters 
CKMeansLloydImpl  
CKMeansMiniBatchImpl  
CConverter  Class Converter used to convert data 
CDiffusionMaps  Class DiffusionMaps used to preprocess given data using Diffusion Maps dimensionality reduction technique as described in 
CEmbeddingConverter  Class EmbeddingConverter (part of the Efficient Dimensionality Reduction Toolkit) used to construct embeddings of features, e.g. construct dense numeric embedding of string features 
CFactorAnalysis  The Factor Analysis class is used to embed data using Factor Analysis algorithm 
CHashedDocConverter  This class can be used to convert a document collection contained in a CStringFeatures<char> object where each document is stored as a single vector into a hashed BagofWords representation. Like in the standard BagofWords representation, this class considers each document as a collection of tokens, which are then hashed into a new feature space of a specified dimension. This class is very flexible and allows the user to specify the tokenizer used to tokenize each document, specify whether the results should be normalized with regards to the sqrt of the document size, as well as to specify whether he wants to combine different tokens. The latter implements a kskip ngrams approach, meaning that you can combine up to n tokens, while skipping up to k. Eg. for the tokens ["a", "b", "c", "d"], with n_grams = 2 and skips = 2, one would get the following combinations : ["a", "ab", "ac" (skipped 1), "ad" (skipped 2), "b", "bc", "bd" (skipped 1), "c", "cd", "d"] 
CHessianLocallyLinearEmbedding  Class HessianLocallyLinearEmbedding used to preprocess data using Hessian Locally Linear Embedding algorithm as described in 
CFastICA  Class FastICA 
CFFSep  Class FFSep 
CICAConverter  Class ICAConverter Base class for ICA algorithms 
CJade  Class Jade 
CJediSep  Class JediSep 
CSOBI  Class SOBI 
CUWedgeSep  Class UWedgeSep 
CIsomap  The Isomap class is used to embed data using Isomap algorithm as described in: 
CKernelLocallyLinearEmbedding  Class KernelLocallyLinearEmbedding used to construct embeddings of data using kernel formulation of Locally Linear Embedding algorithm as described in 
CLaplacianEigenmaps  Class LaplacianEigenmaps used to construct embeddings of data using Laplacian Eigenmaps algorithm as described in: 
CLinearLocalTangentSpaceAlignment  Class LinearLocalTangentSpaceAlignment converter used to construct embeddings as described in: 
CLocalityPreservingProjections  Class LocalityPreservingProjections used to compute embeddings of data using Locality Preserving Projections method as described in 
CLocallyLinearEmbedding  Class LocallyLinearEmbedding used to embed data using Locally Linear Embedding algorithm described in 
CLocalTangentSpaceAlignment  Class LocalTangentSpaceAlignment used to embed data using Local Tangent Space Alignment (LTSA) algorithm as described in: 
CManifoldSculpting  Class CManifoldSculpting used to embed data using manifold sculpting embedding algorithm 
CMultidimensionalScaling  Class Multidimensionalscaling is used to perform multidimensional scaling (capable of landmark approximation if requested) 
CNeighborhoodPreservingEmbedding  NeighborhoodPreservingEmbedding converter used to construct embeddings as described in: 
CStochasticProximityEmbedding  Class StochasticProximityEmbedding used to construct embeddings of data using the Stochastic Proximity algorithm 
CTDistributedStochasticNeighborEmbedding  Class CTDistributedStochasticNeighborEmbedding used to embed data using tdistributed stochastic neighbor embedding algorithm: http://jmlr.csail.mit.edu/papers/volume9/vandermaaten08a/vandermaaten08a.pdf 
CAttenuatedEuclideanDistance  Class AttenuatedEuclideanDistance 
CBrayCurtisDistance  Class BrayCurtis distance 
CCanberraMetric  Class CanberraMetric 
CCanberraWordDistance  Class CanberraWordDistance 
CChebyshewMetric  Class ChebyshewMetric 
CChiSquareDistance  Class ChiSquareDistance 
CCosineDistance  Class CosineDistance 
CCustomDistance  The Custom Distance allows for custom user provided distance matrices 
CCustomMahalanobisDistance  Class CustomMahalanobisDistance used to compute the distance between feature vectors \( \vec{x_i} \) and \( \vec{x_j} \) as \( (\vec{x_i}  \vec{x_j})^T \mathbf{M} (\vec{x_i}  \vec{x_j}) \), given the matrix \( \mathbf{M} \) which will be referred to as Mahalanobis matrix 
CDenseDistance  Template class DenseDistance 
CDistance  Class Distance, a base class for all the distances used in the Shogun toolbox 
CEuclideanDistance  Class EuclideanDistance 
CGeodesicMetric  Class GeodesicMetric 
CHammingWordDistance  Class HammingWordDistance 
CJensenMetric  Class JensenMetric 
CKernelDistance  The Kernel distance takes a distance as input 
CMahalanobisDistance  Class MahalanobisDistance 
CManhattanMetric  Class ManhattanMetric 
CManhattanWordDistance  Class ManhattanWordDistance 
CMinkowskiMetric  Class MinkowskiMetric 
CRealDistance  Class RealDistance 
CSparseDistance  Template class SparseDistance 
CSparseEuclideanDistance  Class SparseEucldeanDistance 
CStringDistance  Template class StringDistance 
CTanimotoDistance  Class Tanimoto coefficient 
CGaussianDistribution  Dense version of the wellknown Gaussian probability distribution, defined as
\[ \mathcal{N}_x(\mu,\Sigma)= \frac{1}{\sqrt{2\pi\Sigma}} \exp\left(\frac{1}{2}(x\mu)^T\Sigma^{1}(x\mu)\right) \] 
CProbabilityDistribution  A base class for representing ndimensional probability distribution over the real numbers (64bit) for which various statistics can be computed and which can be sampled 
CDiscreteDistribution  This is the base interface class for all discrete distributions 
CDistribution  Base class Distribution from which all methods implementing a distribution are derived 
CEMBase  This is the base class for Expectation Maximization (EM). EM for various purposes can be derived from this base class. This is a template class having a template member called data which can be used to store all parameters used and results calculated by the expectation and maximization steps of EM 
CEMMixtureModel  This is the implementation of EM specialized for Mixture models 
CGaussian  Gaussian distribution interface 
CHistogram  Class Histogram computes a histogram over all 16bit unsigned integers in the features 
Model  Class Model 
CHMM  Hidden Markov Model 
CKernelDensity  This class implements the kernel density estimation technique. Kernel density estimation is a nonparametric way to estimate an unknown pdf. The pdf at a query point given finite training samples is calculated using the following formula : \ \(pdf(x')= \frac{1}{nh} \sum_{i=1}^n K(\frac{xx_i}{h})\) \ K() in the above formula is called the kernel function and is controlled by the parameter h called kernel bandwidth. Presently, this class supports only Gaussian kernel which can be used with either Euclidean distance or Manhattan distance. This class makes use of 2 tree structures KDtree and Ball tree for fast calculation. KDtrees are faster than ball trees at lower dimensions. In case of high dimensional data, ball tree tends to outperform KDtree. By default, the class used is Ball tree 
CLinearHMM  The class LinearHMM is for learning Higher Order Markov chains 
MixModelData  This structure is used for storing data required for using the generic Expectation Maximization (EM) implemented by the template class CEMBase for mixture models like gaussian mixture model, multinomial mixture model etc. The EM specialized for mixture models is implemented by the class CEMMixtureModel which uses this MixModelData structure 
CMixtureModel  This is the generic class for mixture models. The final distribution is a mixture of various simple distributions supplied by the user 
CPositionalPWM  Positional PWM 
CCombinationRule  CombinationRule abstract class The CombinationRule defines an interface to how to combine the classification or regression outputs of an ensemble of Machines 
CMajorityVote  CMajorityVote is a CWeightedMajorityVote combiner, where each Machine's weight in the ensemble is 1.0 
CMeanRule  CMeanRule simply averages the outputs of the Machines in the ensemble 
CWeightedMajorityVote  Weighted Majority Vote implementation 
CBinaryClassEvaluation  The class TwoClassEvaluation, a base class used to evaluate binary classification labels 
CClusteringAccuracy  Clustering accuracy 
CClusteringEvaluation  The base class used to evaluate clustering 
CClusteringMutualInformation  Clustering (normalized) mutual information 
CContingencyTableEvaluation  The class ContingencyTableEvaluation a base class used to evaluate 2class classification with TP, FP, TN, FN rates 
CAccuracyMeasure  Class AccuracyMeasure used to measure accuracy of 2class classifier 
CErrorRateMeasure  Class ErrorRateMeasure used to measure error rate of 2class classifier 
CBALMeasure  Class BALMeasure used to measure balanced error of 2class classifier 
CWRACCMeasure  Class WRACCMeasure used to measure weighted relative accuracy of 2class classifier 
CF1Measure  Class F1Measure used to measure F1 score of 2class classifier 
CCrossCorrelationMeasure  Class CrossCorrelationMeasure used to measure cross correlation coefficient of 2class classifier 
CRecallMeasure  Class RecallMeasure used to measure recall of 2class classifier 
CPrecisionMeasure  Class PrecisionMeasure used to measure precision of 2class classifier 
CSpecificityMeasure  Class SpecificityMeasure used to measure specificity of 2class classifier 
CCrossValidationResult  Type to encapsulate the results of an evaluation run. May contain confidence interval (if conf_int_alpha!=0). m_conf_int_alpha is the probability for an error, i.e. the value does not lie in the confidence interval 
CCrossValidation  Base class for crossvalidation evaluation. Given a learning machine, a splitting strategy, an evaluation criterium, features and correspnding labels, this provides an interface for crossvalidation. Results may be retrieved using the evaluate method. A number of repetitions may be specified for obtaining more accurate results. The arithmetic mean of different runs is returned along with confidence intervals, if a pvalue is specified. Default number of runs is one, confidence interval combutation is disabled 
CCrossValidationMKLStorage  Class for storing MKL weights in every fold of crossvalidation 
CCrossValidationMulticlassStorage  Class for storing multiclass evaluation information in every fold of crossvalidation 
CCrossValidationOutput  Class for managing individual folds in crossvalidation 
CCrossValidationPrintOutput  Class for outputting crossvalidation intermediate results to the standard output. Simply prints all messages it gets 
CCrossValidationSplitting  Implementation of normal crossvalidation on the base of CSplittingStrategy. Produces subset index sets of equal size (at most one difference) 
CDifferentiableFunction  An abstract class that describes a differentiable function used for GradientEvaluation 
CEvaluation  Class Evaluation, a base class for other classes used to evaluate labels, e.g. accuracy of classification or mean squared error of regression 
CEvaluationResult  Abstract class that contains the result generated by the MachineEvaluation class 
CGradientCriterion  Simple class which specifies the direction of gradient search 
CGradientEvaluation  Class evaluates a machine using its associated differentiable function for the function value and its gradient with respect to parameters 
CGradientResult  Container class that returns results from GradientEvaluation. It contains the function value as well as its gradient 
CLOOCrossValidationSplitting  Implementation of Leave one out crossvalidation on the base of CCrossValidationSplitting. Produces subset index sets consisting of one element,for each label 
CMachineEvaluation  Machine Evaluation is an abstract class that evaluates a machine according to some criterion 
CMeanAbsoluteError  Class MeanAbsoluteError used to compute an error of regression model 
CMeanSquaredError  Class MeanSquaredError used to compute an error of regression model 
CMeanSquaredLogError  Class CMeanSquaredLogError used to compute an error of regression model 
CMulticlassAccuracy  The class MulticlassAccuracy used to compute accuracy of multiclass classification 
CMulticlassOVREvaluation  The class MulticlassOVREvaluation used to compute evaluation parameters of multiclass classification via binary OvR decomposition and given binary evaluation technique 
CMultilabelAccuracy  Class CMultilabelAccuracy used to compute accuracy of multilabel classification 
CPRCEvaluation  Class PRCEvaluation used to evaluate PRC (Precision Recall Curve) and an area under PRC curve (auPRC) 
CROCEvaluation  Class ROCEvalution used to evaluate ROC (Receiver Operating Characteristic) and an area under ROC curve (auROC) 
CSplittingStrategy  Abstract base class for all splitting types. Takes a CLabels instance and generates a desired number of subsets which are being accessed by their indices via the method generate_subset_indices(...) 
CStratifiedCrossValidationSplitting  Implementation of stratified crossvalidation on the base of CSplittingStrategy. Produces subset index sets of equal size (at most one difference) in which the label ratio is equal (at most one difference) to the label ratio of the specified labels. Do not use for regression since it may be impossible to distribute nice in that case 
CStructuredAccuracy  Class CStructuredAccuracy used to compute accuracy of structured classification 
CAlphabet  The class Alphabet implements an alphabet and alphabet utility functions 
CAttributeFeatures  Implements attributed features, that is in the simplest case a number of (attribute, value) pairs 
CBinnedDotFeatures  The class BinnedDotFeatures contains a 01 conversion of features into bins 
CCombinedDotFeatures  Features that allow stacking of a number of DotFeatures 
CCombinedFeatures  The class CombinedFeatures is used to combine a number of of feature objects into a single CombinedFeatures object 
CDataGenerator  Class that is able to generate various data samples, which may be used for examples in SHOGUN 
CDenseFeatures  The class DenseFeatures implements dense feature matrices 
CDenseSubsetFeatures  
CDotFeatures  Features that support dot products among other operations 
CDummyFeatures  The class DummyFeatures implements features that only know the number of feature objects (but don't actually contain any) 
CExplicitSpecFeatures  Features that compute the Spectrum Kernel feature space explicitly 
CFactorGraphFeatures  CFactorGraphFeatures maintains an array of factor graphs, each graph is a sample, i.e. an instance of structured input 
CFeatures  The class Features is the base class of all feature objects 
CFKFeatures  The class FKFeatures implements Fischer kernel features obtained from two Hidden Markov models 
CHashedDenseFeatures  This class is identical to the CDenseFeatures class except that it hashes each dimension to a new feature space 
CHashedDocDotFeatures  This class can be used to provide onthefly vectorization of a document collection. Like in the standard BagofWords representation, this class considers each document as a collection of tokens, which are then hashed into a new feature space of a specified dimension. This class is very flexible and allows the user to specify the tokenizer used to tokenize each document, specify whether the results should be normalized with regards to the sqrt of the document size, as well as to specify whether he wants to combine different tokens. The latter implements a kskip ngrams approach, meaning that you can combine up to n tokens, while skipping up to k. Eg. for the tokens ["a", "b", "c", "d"], with n_grams = 2 and skips = 2, one would get the following combinations : ["a", "ab", "ac" (skipped 1), "ad" (skipped 2), "b", "bc", "bd" (skipped 1), "c", "cd", "d"] 
CHashedSparseFeatures  This class is identical to the CDenseFeatures class except that it hashes each dimension to a new feature space 
CHashedWDFeatures  Features that compute the Weighted Degreee Kernel feature space explicitly 
CHashedWDFeaturesTransposed  Features that compute the Weighted Degreee Kernel feature space explicitly 
CImplicitWeightedSpecFeatures  Features that compute the Weighted Spectrum Kernel feature space explicitly 
CIndexFeatures  The class IndexFeatures implements features that contain the index of the features. This features used in the CCustomKernel::init to make the subset of the kernel matrix. Initial CIndexFeature of row_idx and col_idx, pass them to the CCustomKernel::init(row_idx, col_idx), then use CCustomKernel::get_kernel_matrix() will get the sub kernel matrix specified by the row_idx and col_idx 
CLatentFeatures  Latent Features class The class if for representing features for latent learning, e.g. LatentSVM. It's basically a very generic way of storing features of any (userdefined) form based on CData 
CLBPPyrDotFeatures  Implements Local Binary Patterns with Scale Pyramids as dot features for a set of images. Expects the images to be loaded in a CDenseFeatures object 
CMatrixFeatures  Class CMatrixFeatures used to represent data whose feature vectors are better represented with matrices rather than with unidimensional arrays or vectors. Optionally, it can be restricted that all the feature vectors have the same number of features. Set the attribute num_features different to zero to use this restriction. Allow feature vectors with different number of features by setting num_features equal to zero (default behaviour) 
CPolyFeatures  Implement DotFeatures for the polynomial kernel 
CRandomFourierDotFeatures  This class implements the random fourier features for the DotFeatures framework. Basically upon the object creation it computes the random coefficients, namely w and b, that are needed for this method and then every time a vector is required it is computed based on the following formula z(x) = sqrt(2/D) * cos(w'*x + b), where D is the number of samples that are used 
CRandomKitchenSinksDotFeatures  Class that implements the Random Kitchen Sinks (RKS) for the DotFeatures as mentioned in http://books.nips.cc/papers/files/nips21/NIPS2008_0885.pdf 
CRealFileFeatures  The class RealFileFeatures implements a dense doubleprecision floating point matrix from a file 
CSNPFeatures  Features that compute the Weighted Degreee Kernel feature space explicitly 
CSparseFeatures  Template class SparseFeatures implements sparse matrices 
CSparsePolyFeatures  Implement DotFeatures for the polynomial kernel 
CGaussianBlobsDataGenerator  
CMeanShiftDataGenerator  
CStreamingDenseFeatures  This class implements streaming features with dense feature vectors 
CStreamingDotFeatures  Streaming features that support dot products among other operations 
CStreamingFeatures  Streaming features are features which are used for online algorithms 
CStreamingHashedDenseFeatures  This class acts as an alternative to the CStreamingDenseFeatures class and their difference is that the current example in this class is hashed into a smaller dimension dim 
CStreamingHashedDocDotFeatures  This class implements streaming features for a document collection. Like in the standard BagofWords representation, this class considers each document as a collection of tokens, which are then hashed into a new feature space of a specified dimension. This class is very flexible and allows the user to specify the tokenizer used to tokenize each document, specify whether the results should be normalized with regards to the sqrt of the document size, as well as to specify whether he wants to combine different tokens. The latter implements a kskip ngrams approach, meaning that you can combine up to n tokens, while skipping up to k. Eg. for the tokens ["a", "b", "c", "d"], with n_grams = 2 and skips = 2, one would get the following combinations : ["a", "ab", "ac" (skipped 1), "ad" (skipped 2), "b", "bc", "bd" (skipped 1), "c", "cd", "d"] 
CStreamingHashedSparseFeatures  This class acts as an alternative to the CStreamingSparseFeatures class and their difference is that the current example in this class is hashed into a smaller dimension dim 
CStreamingSparseFeatures  This class implements streaming features with sparse feature vectors. The vector is represented as an SGSparseVector<T>. Each entry is of type SGSparseVectorEntry<T> with members `feat_index' and `entry' 
CStreamingStringFeatures  This class implements streaming features as strings 
CStreamingVwFeatures  This class implements streaming features for use with VW 
CStringFeatures  Template class StringFeatures implements a list of strings 
CStringFileFeatures  File based string features 
CSubset  Wrapper class for an index subset which is used by SubsetStack 
CSubsetStack  Class to add subset support to another class. A CSubsetStackStack instance should be added and wrapper methods to all interfaces should be added 
CTOPFeatures  The class TOPFeatures implements TOP kernel features obtained from two Hidden Markov models 
CWDFeatures  Features that compute the Weighted Degreee Kernel feature space explicitly 
CBinaryFile  A Binary file access class 
CBinaryStream  Memory mapped emulation via binary streams (files) 
CCSVFile  Class CSVFile used to read data from commaseparated values (CSV) files. See http://en.wikipedia.org/wiki/Commaseparated_values 
CFile  A File access base class 
CIOBuffer  An I/O buffer class 
CLibSVMFile  Read sparse real valued features in svm light format e.g. 1 1:10.0 2:100.2 1000:1.3 with 1 == (optional) label and dim 1  value 10.0 dim 2  value 100.2 dim 1000  value 1.3 
CLineReader  Class for buffered reading from a ascii file 
CMemoryMappedFile  Memory mapped file 
CParser  Class for reading from a string 
CProtobufFile  Class for work with binary file in protobuf format 
CSerializableAsciiFile  Serializable ascii file 
SerializableAsciiReader00  Serializable ascii reader 
CSerializableFile  Serializable file 
TSerializableReader  Serializable reader 
substring  Struct Substring, specified by start position and end position 
SGIO  Class SGIO, used to do input output operations throughout shogun 
CSimpleFile  Template class SimpleFile to read and write from files 
CStreamingAsciiFile  Class StreamingAsciiFile to read vectorbyvector from ASCII files 
CStreamingFile  A Streaming File access class 
CStreamingFileFromDenseFeatures  Class CStreamingFileFromDenseFeatures is a derived class of CStreamingFile which creates an input source for the online framework from a CDenseFeatures object 
CStreamingFileFromFeatures  Class StreamingFileFromFeatures to read vectorbyvector from a CFeatures object 
CStreamingFileFromSparseFeatures  Class CStreamingFileFromSparseFeatures is derived from CStreamingFile and provides an input source for the online framework. It uses an existing CSparseFeatures object to generate online examples 
CStreamingFileFromStringFeatures  Class CStreamingFileFromStringFeatures is derived from CStreamingFile and provides an input source for the online framework from a CStringFeatures object 
CStreamingVwCacheFile  Class StreamingVwCacheFile to read vectorbyvector from VW cache files 
CStreamingVwFile  Class StreamingVwFile to read vectorbyvector from Vowpal Wabbit data files. It reads the example and label into one object of VwExample type 
CUAIFile  Class UAIFILE used to read data from UAI files. See http://graphmod.ics.uci.edu/uai08/FileFormat for more details 
CANOVAKernel  ANOVA (ANalysis Of VAriances) kernel 
CAUCKernel  The AUC kernel can be used to maximize the area under the receiver operator characteristic curve (AUC) instead of margin in SVM training 
CBesselKernel  Class Bessel kernel 
CCauchyKernel  Cauchy kernel 
CChi2Kernel  The Chi2 kernel operating on realvalued vectors computes the chisquared distance between sets of histograms 
CCircularKernel  Circular kernel 
CCombinedKernel  The Combined kernel is used to combine a number of kernels into a single CombinedKernel object by linear combination 
CConstKernel  The Constant Kernel returns a constant for all elements 
CCustomKernel  The Custom Kernel allows for custom user provided kernel matrices 
CDiagKernel  The Diagonal Kernel returns a constant for the diagonal and zero otherwise 
CDistanceKernel  The Distance kernel takes a distance as input 
CDotKernel  Template class DotKernel is the base class for kernels working on DotFeatures 
CExponentialKernel  The Exponential Kernel, closely related to the Gaussian Kernel computed on CDotFeatures 
CGaussianARDKernel  Gaussian Kernel with Automatic Relevance Detection computed on CDotFeatures 
CGaussianKernel  The well known Gaussian kernel (swiss army knife for SVMs) computed on CDotFeatures 
CGaussianShiftKernel  An experimental kernel inspired by the WeightedDegreePositionStringKernel and the Gaussian kernel 
CGaussianShortRealKernel  The well known Gaussian kernel (swiss army knife for SVMs) on dense shortreal valued features 
CHistogramIntersectionKernel  The HistogramIntersection kernel operating on realvalued vectors computes the histogram intersection distance between sets of histograms. Note: the current implementation assumes positive values for the histograms, and input vectors should sum to 1 
CInverseMultiQuadricKernel  InverseMultiQuadricKernel 
CJensenShannonKernel  The JensenShannon kernel operating on realvalued vectors computes the JensenShannon distance between the features. Often used in computer vision 
K_THREAD_PARAM  
CKernel  The Kernel base class 
CLinearARDKernel  Linear Kernel with Automatic Relevance Detection computed on CDotFeatures 
CLinearKernel  Computes the standard linear kernel on CDotFeatures 
CLogKernel  Log kernel 
CMultiquadricKernel  MultiquadricKernel 
CAvgDiagKernelNormalizer  Normalize the kernel by either a constant or the average value of the diagonal elements (depending on argument c of the constructor) 
CDiceKernelNormalizer  DiceKernelNormalizer performs kernel normalization inspired by the Dice coefficient (see http://en.wikipedia.org/wiki/Dice's_coefficient) 
CFirstElementKernelNormalizer  Normalize the kernel by a constant obtained from the first element of the kernel matrix, i.e. \( c=k({\bf x},{\bf x})\) 
CIdentityKernelNormalizer  Identity Kernel Normalization, i.e. no normalization is applied 
CKernelNormalizer  The class Kernel Normalizer defines a function to postprocess kernel values 
CRidgeKernelNormalizer  Normalize the kernel by adding a constant term to its diagonal. This aids kernels to become positive definite (even though they are not  often caused by numerical problems) 
CScatterKernelNormalizer  Scatter kernel normalizer 
CSqrtDiagKernelNormalizer  SqrtDiagKernelNormalizer divides by the Square Root of the product of the diagonal elements 
CTanimotoKernelNormalizer  TanimotoKernelNormalizer performs kernel normalization inspired by the Tanimoto coefficient (see http://en.wikipedia.org/wiki/Jaccard_index ) 
CVarianceKernelNormalizer  VarianceKernelNormalizer divides by the ``variance'' 
CZeroMeanCenterKernelNormalizer  ZeroMeanCenterKernelNormalizer centers the kernel in feature space 
CPolyKernel  Computes the standard polynomial kernel on CDotFeatures 
CPowerKernel  Power kernel 
CProductKernel  The Product kernel is used to combine a number of kernels into a single ProductKernel object by element multiplication 
CPyramidChi2  Pyramid Kernel over Chi2 matched histograms 
CRationalQuadraticKernel  Rational Quadratic kernel 
CSigmoidKernel  The standard Sigmoid kernel computed on dense real valued features 
CSparseKernel  Template class SparseKernel, is the base class of kernels working on sparse features 
CSphericalKernel  Spherical kernel 
CSplineKernel  Computes the Spline Kernel function which is the cubic polynomial 
CCommUlongStringKernel  The CommUlongString kernel may be used to compute the spectrum kernel from strings that have been mapped into unsigned 64bit integers 
CCommWordStringKernel  The CommWordString kernel may be used to compute the spectrum kernel from strings that have been mapped into unsigned 16bit integers 
CDistantSegmentsKernel  The distant segments kernel is a string kernel, which counts the number of substrings, socalled segments, at a certain distance from each other 
CFixedDegreeStringKernel  The FixedDegree String kernel takes as input two strings of same size and counts the number of matches of length d 
CGaussianMatchStringKernel  The class GaussianMatchStringKernel computes a variant of the Gaussian kernel on strings of same length 
CHistogramWordStringKernel  The HistogramWordString computes the TOP kernel on inhomogeneous Markov Chains 
CLinearStringKernel  Computes the standard linear kernel on dense char valued features 
CLocalAlignmentStringKernel  The LocalAlignmentString kernel compares two sequences through all possible local alignments between the two sequences 
CLocalityImprovedStringKernel  The LocalityImprovedString kernel is inspired by the polynomial kernel. Comparing neighboring characters it puts emphasize on local features 
CMatchWordStringKernel  The class MatchWordStringKernel computes a variant of the polynomial kernel on strings of same length converted to a word alphabet 
COligoStringKernel  This class offers access to the Oligo Kernel introduced by Meinicke et al. in 2004 
CPolyMatchStringKernel  The class PolyMatchStringKernel computes a variant of the polynomial kernel on strings of same length 
CPolyMatchWordStringKernel  The class PolyMatchWordStringKernel computes a variant of the polynomial kernel on wordfeatures 
CRegulatoryModulesStringKernel  The Regulaty Modules kernel, based on the WD kernel, as published in Schultheiss et al., Bioinformatics (2009) on regulatory sequences 
CSalzbergWordStringKernel  The SalzbergWordString kernel implements the Salzberg kernel 
CSimpleLocalityImprovedStringKernel  SimpleLocalityImprovedString kernel, is a ``simplified'' and better performing version of the Locality improved kernel 
CSNPStringKernel  The class SNPStringKernel computes a variant of the polynomial kernel on strings of same length 
SSKFeatures  SSKFeatures 
CSparseSpatialSampleStringKernel  Sparse Spatial Sample String Kernel by Pavel Kuksa pkuks.nosp@m.a@cs.nosp@m..rutg.nosp@m.ers..nosp@m.edu and Vladimir Pavlovic vladi.nosp@m.mir@.nosp@m.cs.ru.nosp@m.tger.nosp@m.s.edu 
CSpectrumMismatchRBFKernel  Spectrum mismatch rbf kernel 
CSpectrumRBFKernel  Spectrum rbf kernel 
CStringKernel  Template class StringKernel, is the base class of all String Kernels 
CSubsequenceStringKernel  Class SubsequenceStringKernel that implements String Subsequence Kernel (SSK) discussed by Lodhi et. al.[1]. A subsequence is any ordered sequence of \(n\) characters occurring in the text, though not necessarily contiguous. More formally, string \(u\) is a subsequence of string \(s\), iff there exists indices \(\mathbf{i}=(i_{1},\dots,i_{u})\), with \(1\le i_{1} \le \cdots \le i_{u} \le s\), such that \(u_{j}=s_{i_{j}}\) for \(j=1,\dots,u\), written as \(u=s[\mathbf{i}]\). The feature mapping \(\phi\) in this scenario is given by
\[ \phi_{u}(s)=\sum_{\mathbf{i}:u=s[\mathbf{i}]}\lambda^{l(\mathbf{i})} \] for some \(lambda\le 1\), where \(l(\mathbf{i})\) is the length of the subsequence in \(s\), given by \(i_{u}i_{1}+1\). The kernel here is an inner product in the feature space generated by all subsequences of length \(n\). \[ K_{n}(s,t)=\sum_{u\in\Sigma^{n}}\langle \phi_{u}(s), \phi_{u}(t)\rangle = \sum_{u\in\Sigma^{n}}\sum_{\mathbf{i}:u=s[\mathbf{i}]} \sum_{\mathbf{j}:u=t[\mathbf{j}]}\lambda^{l(\mathbf{i})+l(\mathbf{j})} \] Since the subsequences are weighted by the exponentially decaying factor \(\lambda\) of their full length in the text, more weight is given to those occurrences that are nearly contiguous. A direct computation is infeasible since the dimension of the feature space grows exponentially with \(n\). The paper describes an efficient computation approach using a dynamic programming technique 
CWeightedCommWordStringKernel  The WeightedCommWordString kernel may be used to compute the weighted spectrum kernel (i.e. a spectrum kernel for 1 to Kmers, where each kmer length is weighted by some coefficient \(\beta_k\)) from strings that have been mapped into unsigned 16bit integers 
CWeightedDegreePositionStringKernel  The Weighted Degree Position String kernel (Weighted Degree kernel with shifts) 
CWeightedDegreeStringKernel  The Weighted Degree String kernel 
CTensorProductPairKernel  Computes the Tensor Product Pair Kernel (TPPK) 
CTStudentKernel  Generalized TStudent kernel 
CWaveKernel  Wave kernel 
CWaveletKernel  Class WaveletKernel 
CWeightedDegreeRBFKernel  Weighted degree RBF kernel 
CBinaryLabels  Binary Labels for binary classification 
CDenseLabels  Dense integer or floating point labels 
CFactorGraphObservation  Class CFactorGraphObservation is used as the structured output 
CFactorGraphLabels  Class FactorGraphLabels used e.g. in the application of Structured Output (SO) learning with the FactorGraphModel. Each of the labels is represented by a graph. Each label is of type CFactorGraphObservation and all of them are stored in a CDynamicObjectArray 
CLabels  The class Labels models labels, i.e. class assignments of objects 
CLabelsFactory  The helper class to specialize base class instances of labels 
CLatentLabels  Abstract class for latent labels As latent labels always depends on the given application, this class only defines the API that the user has to implement for latent labels 
CMulticlassLabels  Multiclass Labels for multiclass classification 
CMultilabelLabels  Multilabel Labels for multilabel classification 
CRegressionLabels  Real Labels are realvalued labels 
CStructuredLabels  Base class of the labels used in Structured Output (SO) problems 
CLatentModel  Abstract class CLatentModel It represents the application specific model and contains most of the application dependent logic to solve latent variable based problems 
CLatentSOSVM  Class Latent Structured Output SVM, an structured output based machine for classification problems with latent variables 
CLatentSVM  LatentSVM class Latent SVM implementation based on [1]. For optimization this implementation uses SVMOcas 
CBitString  String class embedding a string in a compact bit representation 
CCache  Template class Cache implements a simple cache 
CCircularBuffer  Implementation of circular buffer This buffer has logical structure such as queue (FIFO). But this queue is cyclic: tape, ends of which are connected, just instead tape there is block of physical memory. So, if you push big block of data it can be situated both at the end and the begin of buffer's memory 
CCompressor  Compression library for compressing and decompressing buffers using one of the standard compression algorithms: 
CJobResultAggregator  Abstract base class that provides an interface for computing an aggeregation of the job results of independent computation jobs as they are submitted and also for finalizing the aggregation 
CStoreScalarAggregator  Template class that aggregates scalar job results in each submit_result call, finalize then transforms current aggregation into a CScalarResult 
CStoreVectorAggregator  Abstract template class that aggregates vector job results in each submit_result call, finalize is abstract 
CIndependentComputationEngine  Abstract base class for solving multiple independent instances of CIndependentJob. It has one method, submit_job, which may add the job to an internal queue and might block if there is yet not space in the queue. After jobs are submitted, it might not yet be ready. wait_for_all waits until all jobs are completed, which must be called to guarantee that all jobs are finished 
CSerialComputationEngine  Class that computes multiple independent instances of computation jobs sequentially 
CIndependentJob  Abstract base for general computation jobs to be registered in CIndependentComputationEngine. compute method produces a job result and submits it to the internal JobResultAggregator. Each set of jobs that form a result will share the same job result aggregator 
CJobResult  Base class that stores the result of an independent job 
CScalarResult  Base class that stores the result of an independent job when the result is a scalar 
CVectorResult  Base class that stores the result of an independent job when the result is a vector 
CData  Dummy data holder 
TSGDataType  Datatypes that shogun supports 
CDelimiterTokenizer  The class CDelimiterTokenizer is used to tokenize a SGVector<char> into tokens using custom chars as delimiters. One can set the delimiters to use by setting to 1 the appropriate index of the public field delimiters. Eg. to set as delimiter the character ':', one should do: tokenizer>delimiters[':'] = 1; 
CDynamicArray  Template Dynamic array class that creates an array that can be used like a list or an array 
CDynamicObjectArray  Dynamic array class for CSGObject pointers that creates an array that can be used like a list or an array 
CDynInt  Integer type of dynamic size 
CGCArray  Template class GCArray implements a garbage collecting static array 
CHash  Collection of Hashing Functions 
CIndexBlock  Class IndexBlock used to represent contiguous indices of one group (e.g. block of related features) 
CIndexBlockGroup  Class IndexBlockGroup used to represent groupbased feature relation 
CIndexBlockRelation  Class IndexBlockRelation 
CIndexBlockTree  Class IndexBlockTree used to represent tree guided feature relation 
CIndirectObject  Array class that accesses elements indirectly via an index array 
v_array  Class v_array taken directly from JL's implementation 
CJLCoverTreePoint  Class Point to use with John Langford's CoverTree. This class must have some assoficated functions defined (distance, parse_points and print, see below) so it can be used with the CoverTree implementation 
CListElement  Class ListElement, defines how an element of the the list looks like 
CList  Class List implements a doubly connected list for lowlevelobjects 
CLock  Class Lock used for synchronization in concurrent programs 
CMap  Class CMap, a map based on the hashtable. w: http://en.wikipedia.org/wiki/Hash_table 
CNGramTokenizer  The class CNGramTokenizer is used to tokenize a SGVector<char> into ngrams 
RefCount  
CSet  Class CSet, a set based on the hashtable. w: http://en.wikipedia.org/wiki/Hash_table 
SGMatrix  Shogun matrix 
SGMatrixList  Shogun matrix list 
SGNDArray  Shogun ndimensional array 
SGReferencedData  Shogun reference count managed data 
SGSparseMatrix  Template class SGSparseMatrix 
SGSparseVectorEntry  Template class SGSparseVectorEntry 
SGSparseVector  Template class SGSparseVector The assumtion is that the stored SGSparseVectorEntry<T>* vector is ordered by SGSparseVectorEntry.feat_index in nondecreasing order. This has to be assured by the user of the class 
SGString  Shogun string 
SGStringList  Template class SGStringList 
SGVector  Shogun vector 
ShogunException  Class ShogunException defines an exception which is thrown whenever an error inside of shogun occurs 
CSignal  Class Signal implements signal handling to e.g. allow ctrl+c to cancel a long running process 
CStructuredData  Base class of the components of StructuredLabels 
CTime  Class Time that implements a stopwatch based on either cpu time or wall clock time 
CTokenizer  The class CTokenizer acts as a base class in order to implement tokenizers. Subclasses must implement the methods has_next(), next_token_idx() and get_copy() 
CTrie  Template class Trie implements a suffix trie, i.e. a tree in which all suffixes up to a certain length are stored 
CAbsoluteDeviationLoss  CAbsoluteDeviationLoss implements the absolute deviation loss function. \(L(y_i,f(x_i)) = \mod{y_if(x_i)}\) 
CExponentialLoss  CExponentialLoss implements the exponential loss function. \(L(y_i,f(x_i)) = \exp^{y_if(x_i)}\) 
CHingeLoss  CHingeLoss implements the hinge loss function 
CHuberLoss  CHuberLoss implements the Huber loss function. It behaves like SquaredLoss function at values below Huber delta and like absolute deviation at values greater than the delta 
CLogLoss  CLogLoss implements the logarithmic loss function 
CLogLossMargin  Class CLogLossMargin implements a marginbased loglikelihood loss function 
CLossFunction  Class CLossFunction is the base class of all loss functions 
CSmoothHingeLoss  CSmoothHingeLoss implements the smooth hinge loss function 
CSquaredHingeLoss  Class CSquaredHingeLoss implements a squared hinge loss function 
CSquaredLoss  CSquaredLoss implements the squared loss function 
CBaggingMachine  : Bagging algorithm i.e. bootstrap aggregating 
CBaseMulticlassMachine  
CDistanceMachine  A generic DistanceMachine interface 
CGaussianProcessMachine  A base class for Gaussian Processes 
CConstMean  The Const mean function class 
CDualVariationalGaussianLikelihood  Class that models dual variational likelihood 
CEPInferenceMethod  Class of the Expectation Propagation (EP) posterior approximation inference method 
CExactInferenceMethod  The Gaussian exact form inference method class 
CFITCInferenceMethod  The Fully Independent Conditional Training inference method class 
CGaussianARDFITCKernel  Gaussian Kernel with Automatic Relevance Detection with supporting FITC inference 
CGaussianLikelihood  Class that models Gaussian likelihood 
CInferenceMethod  The Inference Method base class 
CKLApproxDiagonalInferenceMethod  The KL approximation inference method class 
CKLCholeskyInferenceMethod  The KL approximation inference method class 
CKLCovarianceInferenceMethod  The KL approximation inference method class 
CKLDualInferenceMethod  The dual KL approximation inference method class 
CKLInferenceMethod  The KL approximation inference method class 
CKLLowerTriangularInferenceMethod  The KL approximation inference method class 
CLaplacianInferenceBase  The Laplace approximation inference method base class 
CLikelihoodModel  The Likelihood model base class 
CLogitDVGLikelihood  Class that models dual variational logit likelihood 
CLogitLikelihood  Class that models Logit likelihood 
CLogitVGLikelihood  Class that models Logit likelihood and uses numerical integration to approximate the following variational expection of log likelihood
\[ \sum_{{i=1}^n}{E_{q(f_i{\mu}_i,{\sigma}^2_i)}[logP(y_if_i)]} \] 
CLogitVGPiecewiseBoundLikelihood  Class that models Logit likelihood and uses variational piecewise bound to approximate the following variational expection of log likelihood
\[ \sum_{{i=1}^n}{E_{q(f_i{\mu}_i,{\sigma}^2_i)}[logP(y_if_i)]} \] where \[ p(y_if_i) = \frac{exp(y_i*f_i)}{1+exp(f_i)}, y_i \in \{0,1\} \] 
CMatrixOperations  The helper class is used for Laplace and KL methods 
CMeanFunction  An abstract class of the mean function 
CMultiLaplacianInferenceMethod  The Laplace approximation inference method class for multi classification 
CNumericalVGLikelihood  Class that models likelihood and uses numerical integration to approximate the following variational expection of log likelihood
\[ \sum_{{i=1}^n}{E_{q(f_i{\mu}_i,{\sigma}^2_i)}[logP(y_if_i)]} \] 
CProbitLikelihood  Class that models Probit likelihood 
CProbitVGLikelihood  Class that models Probit likelihood and uses numerical integration to approximate the following variational expection of log likelihood
\[ \sum_{{i=1}^n}{E_{q(f_i{\mu}_i,{\sigma}^2_i)}[logP(y_if_i)]} \] 
CSingleLaplacianInferenceMethod  The SingleLaplace approximation inference method class for regression and binary Classification 
CSingleLaplacianInferenceMethodWithLBFGS  The Laplace approximation inference method with LBFGS class for regression and binary classification 
CSoftMaxLikelihood  Class that models SoftMax likelihood 
CStudentsTLikelihood  Class that models a Student'st likelihood 
CStudentsTVGLikelihood  Class that models Student's T likelihood and uses numerical integration to approximate the following variational expection of log likelihood
\[ \sum_{{i=1}^n}{E_{q(f_i{\mu}_i,{\sigma}^2_i)}[logP(y_if_i)]} \] 
CVariationalGaussianLikelihood  The variational Gaussian Likelihood base class. The variational distribution is Gaussian 
CVariationalLikelihood  The Variational Likelihood base class 
CZeroMean  The zero mean function class 
CKernelMachine  A generic KernelMachine interface 
CKernelMulticlassMachine  Generic kernel multiclass 
CKernelStructuredOutputMachine  
CLinearLatentMachine  Abstract implementaion of Linear Machine with latent variable This is the base implementation of all linear machines with latent variable 
CLinearMachine  Class LinearMachine is a generic interface for all kinds of linear machines like classifiers 
CLinearMulticlassMachine  Generic linear multiclass machine 
CLinearStructuredOutputMachine  
CMachine  A generic learning machine interface 
CMulticlassMachine  Experimental abstract generic multiclass machine class 
CNativeMulticlassMachine  Experimental abstract native multiclass machine class 
COnlineLinearMachine  Class OnlineLinearMachine is a generic interface for linear machines like classifiers which work through online algorithms 
CRandomForest  This class implements the Random Forests algorithm. In Random Forests algorithm, we train a number of randomized CART trees (see class CRandomCARTree) using the supplied training data. The number of trees to be trained is a parameter (called number of bags) controlled by the user. Test feature vectors are classified/regressed by combining the outputs of all these trained candidate trees using a combination rule (see class CCombinationRule). The feature for calculating outofbox error is also provided to help determine the appropriate number of bags. The evaluatin criteria for calculating this outofbox error is specified by the user (see class CEvaluation) 
CStochasticGBMachine  This class implements the stochastic gradient boosting algorithm for ensemble learning invented by Jerome H. Friedman. This class works with a variety of loss functions like squared loss, exponential loss, Huber loss etc which can be accessed through Shogun's CLossFunction interface (cf. http://www.shoguntoolbox.org/doc/en/latest/classshogun_1_1CLossFunction.html). Additionally, it can create an ensemble of any regressor class derived from the CMachine class (cf. http://www.shoguntoolbox.org/doc/en/latest/classshogun_1_1CMachine.html). For one dimensional optimization, this class uses the backtracking linesearch accessed via Shogun's LBFGS class. A concise description of the algorithm implemented can be found in the following link : http://en.wikipedia.org/wiki/Gradient_boosting#Algorithm 
CStructuredOutputMachine  
CApproxJointDiagonalizer  Class ApproxJointDiagonalizer defines an Approximate Joint Diagonalizer (AJD) interface 
CFFDiag  Class FFDiag 
CJADiag  Class JADiag 
CJADiagOrth  Class JADiagOrth 
CJediDiag  Class Jedi 
CQDiag  Class QDiag 
CUWedge  Class UWedge 
CCplex  Class CCplex to encapsulate access to the commercial cplex general purpose optimizer 
EigenSparseUtil  This class contains some utilities for Eigen3 Sparse Matrix integration with shogun. Currently it provides a method for converting SGSparseMatrix to Eigen3 SparseMatrix 
CFunction  Class of a function of one variable 
CIntegration  Class that contains certain methods related to numerical integration 
CJacobiEllipticFunctions  Class that contains methods for computing Jacobi elliptic functions related to complex analysis. These functions are inverse of the elliptic integral of first kind, i.e.
\[ u(k,m)=\int_{0}^{k}\frac{dt}{\sqrt{(1t^{2})(1m^{2}t^{2})}} =\int_{0}^{\varphi}\frac{d\theta}{\sqrt{(1m^{2}sin^{2}\theta)}} \] where \(k=sin\varphi\), \(t=sin\theta\) and parameter \(m, 0\le m \le 1\) is called modulus. Three main Jacobi elliptic functions are defined as \(sn(u,m)=k=sin\theta\), \(cn(u,m)=cos\theta=\sqrt{1sn(u,m)^{2}}\) and \(dn(u,m)=\sqrt{1m^{2}sn(u,m)^{2}}\). For \(k=1\), i.e. \(\varphi=\frac{\pi}{2}\), \(u(1,m)=K(m)\) is known as the complete elliptic integral of first kind. Similarly, \(u(1,m'))= K'(m')\), \(m'=\sqrt{1m^{2}}\) is called the complementary complete elliptic integral of first kind. Jacobi functions are double periodic with quardratic periods \(K\) and \(K'\) 
CDirectEigenSolver  Class that computes eigenvalues of a real valued, selfadjoint dense matrix linear operator using Eigen3 
CEigenSolver  Abstract base class that provides an abstract compute method for computing eigenvalues of a real valued, selfadjoint linear operator. It also provides method for getting min and max eigenvalues 
CLanczosEigenSolver  Class that computes eigenvalues of a real valued, selfadjoint linear operator using Lanczos algorithm 
CDenseMatrixOperator  Class that represents a densematrix linear operator. It computes matrixvector product \(Ax\) in its apply method, \(A\in\mathbb{C}^{m\times n},A:\mathbb{C}^{n}\rightarrow \mathbb{C}^{m}\) being the matrix operator and \(x\in\mathbb{C}^{n}\) being the vector. The result is a vector \(y\in\mathbb{C}^{m}\) 
CLinearOperator  Abstract template base class that represents a linear operator, e.g. a matrix 
CMatrixOperator  Abstract base class that represents a matrix linear operator. It provides an interface to computes matrixvector product \(Ax\) in its apply method, \(A\in\mathbb{C}^{m\times n},A:\mathbb{C}^{n} \rightarrow \mathbb{C}^{m}\) being the matrix operator and \(x\in \mathbb{C}^{n}\) being the vector. The result is a vector \(y\in \mathbb{C}^{m}\) 
SparsityStructure  Struct that represents the sparsity structure of the Sparse Matrix in CRS. Implementation has been adapted from Krylstat (https://github.com/ Froskekongen/KRYLSTAT) library (c) Erlend Aune erlen.nosp@m.da@m.nosp@m.ath.n.nosp@m.tnu..nosp@m.no under GPL2+ 
CSparseMatrixOperator  Class that represents a sparsematrix linear operator. It computes matrixvector product \(Ax\) in its apply method, \(A\in\mathbb{C}^{m\times n},A:\mathbb{C}^{n}\rightarrow \mathbb{C}^{m}\) being the matrix operator and \(x\in\mathbb{C}^{n}\) being the vector. The result is a vector \(y\in\mathbb{C}^{m}\) 
CCGMShiftedFamilySolver  Class that uses conjugate gradient method for solving a shifted linear system family where the linear opeator is real valued and symmetric positive definite, the vector is real valued, but the shifts are complex 
CConjugateGradientSolver  Class that uses conjugate gradient method of solving a linear system involving a real valued linear operator and vector. Useful for large sparse systems involving sparse symmetric and positivedefinite matrices 
CConjugateOrthogonalCGSolver  Class that uses conjugate orthogonal conjugate gradient method of solving a linear system involving a complex valued linear operator and vector. Useful for large sparse systems involving sparse symmetric matrices that are not Herimitian 
CDirectLinearSolverComplex  Class that provides a solve method for complex densematrix linear systems 
CDirectSparseLinearSolver  Class that provides a solve method for real sparsematrix linear systems using LLT 
CIterativeLinearSolver  Abstract template base for all iterative linear solvers such as conjugate gradient (CG) solvers. provides interface for setting the iteration limit, relative/absolute tolerence. solve method is abstract 
CIterativeShiftedLinearFamilySolver  Abstract template base for CG based solvers to the solution of shifted linear systems of the form \((A+\sigma)x=b\) for several values of \(\sigma\) simultaneously, using only as many matrixvector operations as the solution of a single system requires. This class adds another interface to the basic iterative linear solver that takes the shifts, \(\sigma\), and also weights, \(\alpha\), and returns the summation \(\sum_{i} \alpha_{i}x_{i}\), where \(x_{i}\) is the solution of the system \((A+\sigma_{i})x_{i}=b\) 
_IterInfo  Struct that contains current state of the iteration for iterative linear solvers 
IterativeSolverIterator  Template class that is used as an iterator for an iterative linear solver. In the iteration of solving phase, each solver initializes the iteration with a maximum number of iteration limit, and relative/ absolute tolerence. They then call begin with the residual vector and continue until its end returns true, i.e. either it has converged or iteration count reached maximum limit 
CLinearSolver  Abstract template base class that provides an abstract solve method for linear systems, that takes a linear operator \(A\), a vector \(b\), solves the system \(Ax=b\) and returns the vector \(x\) 
CIndividualJobResultAggregator  Class that aggregates vector job results in each submit_result call of jobs generated from rational approximation of linear operator function times a vector. finalize extracts the imaginary part of that aggregation, applies the linear operator to the aggregation, performs a dot product with the sample vector, multiplies with the constant multiplier (see CRationalApproximation) and stores the result as CScalarResult 
CDenseExactLogJob  Class that represents the job of applying the log of a CDenseMatrixOperator on a real vector 
CRationalApproximationCGMJob  Implementation of independent jobs that solves one whole family of shifted systems in rational approximation of linear operator function times a vector using CGM linear solver. compute calls submit_results of the aggregator with CScalarResult (see CRationalApproximation) 
CRationalApproximationIndividualJob  Implementation of independent job that solves one of the family of shifted systems in rational approximation of linear operator function times a vector using a direct linear solver. The shift is moved inside the operator. compute calls submit_results of the aggregator with CVectorResult which is the solution vector for that shift multiplied by complex weight (See CRationalApproximation) 
CLogDetEstimator  Class to create unbiased estimators of \(log(\leftC\right)= trace(log(C))\). For each estimate, it samples trace vectors (one by one) and calls submit_jobs of COperatorFunction, stores the resulting job result aggregator instances, calls wait_for_all of CIndependentComputationEngine to ensure that the job result aggregators are all up to date. Then simply computes running averages over the estimates 
CDenseMatrixExactLog  Class that generates jobs for computing logarithm of a dense matrix linear operator 
CLogRationalApproximationCGM  Implementaion of rational approximation of a operatorfunction times vector where the operator function is log of a linear operator. Each complex system generated from the shifts due to rational approximation of opertor log times vector expression are solved at once with a shifted linearfamily solver by the computation engine. generate_jobs generates one job per sample 
CLogRationalApproximationIndividual  Implementaion of rational approximation of a operatorfunction times vector where the operator function is log of a densematrix. Each complex system generated from the shifts due to rational approximation of opertor log times vector expression are solved individually with a complex linear solver by the computation engine. generate_jobs generates num_shifts number of jobs per trace sample 
COperatorFunction  Abstract template base class for computing \(s^{T} f(C) s\) for a linear operator C and a vector s. submit_jobs method creates a bunch of jobs needed to solve for this particular \(s\) and attaches one unique job aggregator to each of them, then submits them all to the computation engine 
CRationalApproximation  Abstract base class of the rational approximation of a function of a linear operator (A) times vector (v) using Cauchy's integral formula 
\[f(\text{A})\text{v}=\oint_{\Gamma}f(z)(z\text{I}\text{A})^{1} \text{v}dz\] Computes eigenvalues of linear operator and uses Jacobi elliptic functions and conformal maps [2] for quadrature rule for discretizing the contour integral and computes complex shifts, weights and constant multiplier of the rational approximation of the above expression as \[f(\text{A})\text{v}\approx \eta\text{A}\Im\left(\sum_{l=1}^{N}\alpha_{l} (\text{A}\sigma_{l}\text{I})^{1}\text{v}\right)\] where \(\alpha_{l},\sigma_{l}\in\mathbb{C}\) are respectively the shifts and weights of the linear systems generated from the rational approximation, and \(\eta\in\mathbb{R}\) is the constant multiplier, equals to \(\frac{8K(\lambda_{m}\lambda_{M})^{\frac{1}{4}}}{k\pi N}\) 
CNormalSampler  Class that provides a sample method for Gaussian samples 
CTraceSampler  Abstract template base class that provides an interface for sampling the trace of a linear operator using an abstract sample method 
CLoss  Class which collects generic mathematical functions 
CMath  Class which collects generic mathematical functions 
IndexSorter  
Munkres  Munkres 
CRandom  : Pseudo random number geneartor 
CSparseInverseCovariance  Used to estimate inverse covariance matrix using graphical lasso 
CStatistics  Class that contains certain functions related to statistics, such as probability/cumulative distribution functions, different statistics, etc 
SigmoidParamters  
CLMNN  Class LMNN that implements the distance metric learning technique Large Margin Nearest Neighbour (LMNN) described in 
CLMNNStatistics  Class LMNNStatistics used to give access to intermediate results obtained training LMNN 
CGradientModelSelection  Model selection class which searches for the best model by a gradientsearch 
CGridSearchModelSelection  Model selection class which searches for the best model by a grid search. See CModelSelection for details 
CModelSelection  Abstract base class for model selection 
CModelSelectionParameters  Class to select parameters and their ranges for model selection. The structure is organized as a tree with different kinds of nodes, depending on the values of its member variables of name and CSGObject 
CParameterCombination  Class that holds ONE combination of parameters for a learning machine. The structure is organized as a tree. Every node may hold a name or an instance of a Parameter class. Nodes may have children. The nodes are organized in such way, that every parameter of a model for model selection has one node and subparameters are stored in subnodes. Using a tree of this class, parameters of models may easily be set. There are these types of nodes: 
CRandomSearchModelSelection  Model selection class which searches for the best model by a random search. See CModelSelection for details 
CECOCAEDDecoder  
CECOCDecoder  
CECOCDiscriminantEncoder  
CECOCEDDecoder  
CECOCEncoder  ECOCEncoder produce an ECOC codebook 
CECOCForestEncoder  
CECOCHDDecoder  
CECOCIHDDecoder  
CECOCLLBDecoder  
CECOCOVOEncoder  
CECOCOVREncoder  
CECOCRandomDenseEncoder  
CECOCRandomSparseEncoder  
CECOCSimpleDecoder  
CECOCStrategy  
CECOCUtil  
CGaussianNaiveBayes  Class GaussianNaiveBayes, a Gaussian Naive Bayes classifier 
CGMNPLib  Class GMNPLib Library of solvers for Generalized Minimal Norm Problem (GMNP) 
CGMNPSVM  Class GMNPSVM implements a one vs. rest MultiClass SVM 
CKNN  Class KNN, an implementation of the standard knearest neigbor classifier 
CLaRank  LaRank multiclass SVM machine 
CMCLDA  Class MCLDA implements multiclass Linear Discriminant Analysis 
CMulticlassLibLinear  Multiclass LibLinear wrapper. Uses CrammerSinger formulation and gradient descent optimization algorithm implemented in the LibLinear library. Regularized bias support is added using stacking bias 'feature' to hyperplanes normal vectors 
CMulticlassLibSVM  Class LibSVMMultiClass. Does one vs one classification 
CMulticlassLogisticRegression  Multiclass logistic regression 
CMulticlassOCAS  Multiclass OCAS wrapper 
CMulticlassOneVsOneStrategy  Multiclass one vs one strategy used to train generic multiclass machines for Kclass problems with building votingbased ensemble of K*(K1) binary classifiers multiclass probabilistic outputs can be obtained by using the heuristics described in [1] 
CMulticlassOneVsRestStrategy  Multiclass one vs rest strategy used to train generic multiclass machines for Kclass problems with building ensemble of K binary classifiers 
CMulticlassStrategy  Class MulticlassStrategy used to construct generic multiclass classifiers with ensembles of binary classifiers 
CMulticlassSVM  Class MultiClassSVM 
CMulticlassTreeGuidedLogisticRegression  Multiclass tree guided logistic regression 
CQDA  Class QDA implements Quadratic Discriminant Analysis 
CRejectionStrategy  Base rejection strategy class 
CThresholdRejectionStrategy  Threshold based rejection strategy 
CDixonQTestRejectionStrategy  Simplified version of Dixon's Q test outlier based rejection strategy. Statistic values are taken from http://www.vias.org/tmdatanaleng/cc_outlier_tests_dixon.html 
CScatterSVM  ScatterSVM  Multiclass SVM 
CShareBoost  
ShareBoostOptimizer  
CBalancedConditionalProbabilityTree  
CBallTree  This class implements Ball tree. The ball tree is contructed using the topdown approach. cf. ftp://ftp.icsi.berkeley.edu/pub/techreports/1989/tr89063.pdf 
CBinaryTreeMachineNode  The node of the tree structure forming a TreeMachine The node contains pointer to its parent and pointers to its 2 children: left child and right child. The node also contains data which can be of any type and has to be specified using template specifier 
CC45ClassifierTree  Class C45ClassifierTree implements the C4.5 algorithm for decision tree learning. The algorithm steps are briefy explained below : 
C45TreeNodeData  Structure to store data of a node of C4.5 tree. This can be used as a template type in TreeMachineNode class. Ex: C4.5 algorithm uses nodes of type CTreeMachineNode<C45TreeNodeData> 
CCARTree  This class implements the Classification And Regression Trees algorithm by Breiman et al for decision tree learning. A CART tree is a binary decision tree that is constructed by splitting a node into two child nodes repeatedly, beginning with the root node that contains the whole dataset. TREE GROWING PROCESS : During the tree growing process, we recursively split a node into left child and right child so that the resulting nodes are "purest". We do this until any of the stopping criteria is met. To find the best split, we scan through all possible splits in all predictive attributes. The best split is one that maximises some splitting criterion. For classification tasks, ie. when the dependent attribute is categorical, the Gini index is used. For regression tasks, ie. when the dependent variable is continuous, least squares deviation is used. The algorithm uses two stopping criteria : if node becomes completely "pure", ie. all its members have identical dependent variable, or all of them have identical predictive attributes (independent variables). 
CARTreeNodeData  Structure to store data of a node of CART. This can be used as a template type in TreeMachineNode class. CART algorithm uses nodes of type CTreeMachineNode<CARTreeNodeData> 
CCHAIDTree  This class implements the CHAID algorithm proposed by Kass (1980) for decision tree learning. CHAID consists of three steps: merging, splitting and stopping. A tree is grown by repeatedly using these three steps on each node starting from the root node. CHAID accepts nominal or ordinal categorical predictors only. If predictors are continuous, they have to be transformed into ordinal predictors before tree growing. CONVERTING CONTINUOUS PREDICTORS TO ORDINAL : Continuous predictors are converted to ordinal by binning. The number of bins (K) has to be supplied by the user. Given K, a predictor is split in such a way that all the bins get the same number (more or less) of distinct predictor values. The maximum feature value in each bin is used as a breakpoint. MERGING : During the merging step, allowable pairs of categories of a predictor are evaluated for similarity. If the similarity of a pair is above a threshold, the categories constituting the pair are merged into a single category. The process is repeated until there is no pair left having high similarity between its categories. Similarity between categories is evaluated using the p_value SPLITTING : The splitting step selects which predictor to be used to best split the node. Selection is accomplished by comparing the adjusted p_value associated with each predictor. The predictor that has the smallest adjusted p_value is chosen for splitting the node. STOPPING : The tree growing process stops if any of the following conditions is satisfied : 
CHAIDTreeNodeData  Structure to store data of a node of CHAID. This can be used as a template type in TreeMachineNode class. CHAID algorithm uses nodes of type CTreeMachineNode<CHAIDTreeNodeData> 
CConditionalProbabilityTree  
ConditionalProbabilityTreeNodeData  Struct to store data of node of conditional probability tree 
CID3ClassifierTree  Class ID3ClassifierTree, implements classifier tree for discrete feature values using the ID3 algorithm. The training algorithm implemented is as follows : 
id3TreeNodeData  Structure to store data of a node of id3 tree. This can be used as a template type in TreeMachineNode class. Ex: id3 algorithm uses nodes of type CTreeMachineNode<id3TreeNodeData> 
CKDTree  This class implements KDTree. cf. http://www.autonlab.org/autonweb/14665/version/2/part/5/data/mooretutorial.pdf 
CKNNHeap  This class implements a specialized version of max heap structure. This heap specializes in storing the least k values seen so far along with the indices (or id) of the entities with which the values are associated. On calling the push method, it is automatically checked, if the new value supplied, is among the least k distances seen so far. Also, in case the heap is full already, the max among the stored values is automatically thrown out as the new value finds its proper place in the heap 
CNbodyTree  This class implements genaralized tree for Nbody problems like kNN, kernel density estimation, 2 point correlation 
NbodyTreeNodeData  Structure to store data of a node of NBody tree. This can be used as a template type in TreeMachineNode class. NBody tree building algorithm uses nodes of type CBinaryTreeMachineNode<NbodyTreeNodeData> 
CRandomCARTree  This class implements randomized CART algorithm used in the tree growing process of candidate trees in Random Forests algorithm. The tree growing process is different from the original CART algorithm because of the input attributes which are considered for each node split. In randomized CART, a few (fixed number) attributes are randomly chosen from all available attributes while deciding the best split. This is unlike the original CART where all available attributes are considered while deciding the best split 
CRandomConditionalProbabilityTree  
CRelaxedTree  
RelaxedTreeNodeData  
RelaxedTreeUtil  
CTreeMachine  Class TreeMachine, a base class for tree based multiclass classifiers. This class is derived from CBaseMulticlassMachine and stores the root node (of class type CTreeMachineNode) to the tree structure 
CTreeMachineNode  The node of the tree structure forming a TreeMachine The node contains a pointer to its parent and a vector of pointers to its children. A node of this class can have only one parent but any number of children.The node also contains data which can be of any type and has to be specified using template specifier 
VwConditionalProbabilityTreeNodeData  
CVwConditionalProbabilityTree  
CAutoencoder  Represents a single layer neural autoencoder 
CConvolutionalFeatureMap  Handles convolution and gradient calculation for a single feature map in a convolutional neural network 
CDeepAutoencoder  Represents a mutilayer autoencoder 
CDeepBeliefNetwork  A Deep Belief Network 
CNeuralConvolutionalLayer  Main component in convolutional neural networks 
CNeuralInputLayer  Represents an input layer. The layer can be either connected to all the input features that a network receives (default) or connected to just a small part of those features 
CNeuralLayer  Base class for neural network layers 
CNeuralLayers  A class to construct neural layers 
CNeuralLeakyRectifiedLinearLayer  Neural layer with leaky rectified linear neurons 
CNeuralLinearLayer  Neural layer with linear neurons, with an identity activation function. can be used as a hidden layer or an output layer 
CNeuralLogisticLayer  Neural layer with linear neurons, with a logistic activation function. can be used as a hidden layer or an output layer 
CNeuralNetwork  A generic multilayer neural network 
CNeuralRectifiedLinearLayer  Neural layer with rectified linear neurons 
CNeuralSoftmaxLayer  Neural layer with linear neurons, with a softmax activation function. can be only be used as an output layer. Cross entropy error measure is used 
CRBM  A Restricted Boltzmann Machine 
tag_callback_data  
tag_iteration_data  
lbfgs_parameter_t  
CBAHSIC  Class CBAHSIC, that extends CKernelDependenceMaximization and uses HSIC [1] to compute dependence measures for feature selection using a backward elimination approach as described in [1]. This class serves as a convenience class that initializes the CDependenceMaximization::m_estimator with an instance of CHSIC and allows only shogun::BACKWARD_ELIMINATION algorithm to use which is set internally. Therefore, trying to use other algorithms by set_algorithm() will not work. Plese see the class documentation of CHSIC and [2] for more details on mathematical description of HSIC 
CDecompressString  Preprocessor that decompresses compressed strings 
CDensePreprocessor  Template class DensePreprocessor, base class for preprocessors (cf. CPreprocessor) that apply to CDenseFeatures (i.e. rectangular dense matrices) 
CDependenceMaximization  Class CDependenceMaximization, base class for all feature selection preprocessors which select a subset of features that shows maximum dependence between the features and the labels. This is done via an implementation of CIndependenceTest, m_estimator inside compute_measures() (see class documentation of CFeatureSelection), which performs a statistical test for a given feature \(\mathbf{X}_i\) from the set of features \(\mathbf{X}\), and the labels \(\mathbf{Y}\). The test checks
\[ \textbf{H}_0 : P\left(\mathbf{X}\setminus \mathbf{X}_i, \mathbf{Y}\right) =P\left(\mathbf{X}\setminus \mathbf{X}_i\right)P\left(\mathbf{Y}\right) \] The test statistic is then used as a measure which signifies the independence between the rest of the features and the labels  higher the value of the test statistic, greater the dependency between the rest of the features and the class labels, and therefore lesser significant the current feature becomes. Therefore, highest scoring features are removed. The removal policy thus can only be shogun::N_LARGEST and shogun::PERCENTILE_LARGEST and it can be set via set_policy() call. remove_feats() method handles the removal of features based on the specified policy 
CDimensionReductionPreprocessor  Class DimensionReductionPreprocessor, a base class for preprocessors used to lower the dimensionality of given simple features (dense matrices) 
CFeatureSelection  Template class CFeatureSelection, base class for all feature selection preprocessors which select a subset of features (dimensions in the feature matrix) to achieve a specified number of dimensions, m_target_dim from a given set of features. This class showcases all feature selection algorithms via a generic interface. Supported algorithms are specified by the enum EFeatureSelectionAlgorithm which can be set via set_algorithm() call. Supported wrapper algorithms are 
CFisherLDA  Preprocessor FisherLDA attempts to model the difference between the classes of data by performing linear discriminant analysis on input feature vectors/matrices. When the init method in FisherLDA is called with proper feature matrix X(say N number of vectors and D feature dimensions) supplied via apply_to_feature_matrix or apply_to_feature_vector methods, this creates a transformation whose outputs are the reduced TDimensional & classspecific distribution (where T<= number of unique classes1). The transformation matrix is essentially a DxT matrix, the columns of which correspond to the specified number of eigenvectors which maximizes the ratio of between class matrix to within class matrix 
CHomogeneousKernelMap  Preprocessor HomogeneousKernelMap performs homogeneous kernel maps as described in 
CKernelDependenceMaximization  Class CKernelDependenceMaximization, that uses an implementation of CKernelIndependenceTest to compute dependence measures for feature selection. Different kernels are used for labels and data. For the sake of computational convenience, the precompute() method is overridden to precompute the kernel for labels and save as an instance of CCustomKernel 
CKernelPCA  Preprocessor KernelPCA performs kernel principal component analysis 
CLogPlusOne  Preprocessor LogPlusOne does what the name says, it adds one to a dense real valued vector and takes the logarithm of each component of it 
CNormOne  Preprocessor NormOne, normalizes vectors to have norm 1 
CPCA  Preprocessor PCA performs principial component analysis on input feature vectors/matrices. When the init method in PCA is called with proper feature matrix X (with say N number of vectors and D feature dimension), a transformation matrix is computed and stored internally. This transformation matrix is then used to transform all Ddimensional feature vectors or feature matrices (with D feature dimensions) supplied via apply_to_feature_matrix or apply_to_feature_vector methods. This tranformation outputs the TDimensional approximation of all these input vectors and matrices (where T<=min(D,N)). The transformation matrix is essentially a DxT matrix, the columns of which correspond to the eigenvectors of the covariance matrix(XX') having top T eigenvalues 
CPNorm  Preprocessor PNorm, normalizes vectors to have pnorm 
CPreprocessor  Class Preprocessor defines a preprocessor interface 
CPruneVarSubMean  Preprocessor PruneVarSubMean will substract the mean and remove features that have zero variance 
CRandomFourierGaussPreproc  Preprocessor CRandomFourierGaussPreproc implements Random Fourier Features for the Gauss kernel a la Ali Rahimi and Ben Recht Nips2007 after preprocessing the features using them in a linear kernel approximates a gaussian kernel 
CRescaleFeatures  Preprocessor RescaleFeautres is rescaling the range of features to make the features independent of each other and aims to scale the range in [0, 1] or [1, 1] 
CSortUlongString  Preprocessor SortUlongString, sorts the indivual strings in ascending order 
CSortWordString  Preprocessor SortWordString, sorts the indivual strings in ascending order 
CSparsePreprocessor  Template class SparsePreprocessor, base class for preprocessors (cf. CPreprocessor) that apply to CSparseFeatures 
CStringPreprocessor  Template class StringPreprocessor, base class for preprocessors (cf. CPreprocessor) that apply to CStringFeatures (i.e. strings of variable length) 
CSumOne  Preprocessor SumOne, normalizes vectors to have sum 1 
CGaussianProcessRegression  Class GaussianProcessRegression implements regression based on Gaussian Processes 
CKernelRidgeRegression  Class KernelRidgeRegression implements Kernel Ridge Regression  a regularized least square method for classification and regression 
CLeastAngleRegression  Class for Least Angle Regression, can be used to solve LASSO 
CLeastSquaresRegression  Class to perform Least Squares Regression 
CLinearRidgeRegression  Class LinearRidgeRegression implements Ridge Regression  a regularized least square method for classification and regression 
CLibLinearRegression  This class provides an interface to the LibLinear library for large scale linear learning focusing on SVM [1]. This is the regression interface. For classification, see CLibLinear 
CLibSVR  Class LibSVR, performs support vector regression using LibSVM 
CMKLRegression  Multiple Kernel Learning for regression 
CSVRLight  Class SVRLight, performs support vector regression using SVMLight 
CHSIC  This class implements the Hilbert Schmidtd Independence Criterion based independence test as described in [1] 
CHypothesisTest  Hypothesis test base class. Provides an interface for statistical hypothesis testing via three methods: compute_statistic(), compute_p_value() and compute_threshold(). The second computes a pvalue for the statistic computed by the first method. The pvalue represents the position of the statistic in the nulldistribution, i.e. the distribution of the statistic population given the nullhypothesis is true. (1position = pvalue). The third method, compute_threshold(), computes a threshold for a given test level which is needed to reject the nullhypothesis 
CIndependenceTest  Provides an interface for performing the independence test. Given samples \(Z=\{(x_i,y_i)\}_{i=1}^m\) from the joint distribution \(\textbf{P}_{xy}\), does the joint distribution factorize as \(\textbf{P}_{xy}=\textbf{P}_x\textbf{P}_y\), i.e. product of the marginals? The nullhypothesis says yes, i.e. no dependence, the alternative hypothesis says no 
CKernelIndependenceTest  Kernel independence test base class. Provides an interface for performing an independence test. Given samples \(Z=\{(x_i,y_i)\}_{i=1}^m\) from the joint distribution \(\textbf{P}_{xy}\), does the joint distribution factorize as \(\textbf{P}_{xy}=\textbf{P}_x\textbf{P}_y\), i.e. product of the marginals? 
CKernelMeanMatching  Kernel Mean Matching 
CKernelSelection  Base class for kernel selection for kernel twosample test statistic implementations (e.g. MMD). Provides abstract methods for selecting kernels and computing criteria or kernel weights for the implemented method. In order to implement new methods for kernel selection, simply write a new implementation of this class 
CKernelTwoSampleTest  Kernel two sample test base class. Provides an interface for performing a twosample test using a kernel, i.e. Given samples from two distributions \(p\) and \(q\), the nullhypothesis is: \(H_0: p=q\), the alternative hypothesis: \(H_1: p\neq q\) 
CLinearTimeMMD  This class implements the linear time Maximum Mean Statistic as described in [1] for streaming data (see CStreamingMMD for description) 
CMMDKernelSelection  Base class for kernel selection for MMDbased twosample test statistic implementations. Provides abstract methods for selecting kernels and computing criteria or kernel weights for the implemented method. In order to implement new methods for kernel selection, simply write a new implementation of this class 
CMMDKernelSelectionComb  Base class for kernel selection of combined kernels. Given an MMD instance whose underlying kernel is a combined one, this class provides an interface to select weights of this combined kernel 
CMMDKernelSelectionCombMaxL2  Implementation of maximum MMD kernel selection for combined kernel. This class selects a combination of baseline kernels that maximises the the MMD for a combined kernel based on a L2regularization approach. This boils down to solve the convex program
\[ \min_\beta \{\beta^T \beta \quad \text{s.t.}\quad \beta^T \eta=1, \beta\succeq 0\}, \] where \(\eta\) is a vector whose elements are the MMDs of the baseline kernels 
CMMDKernelSelectionCombOpt  Implementation of optimal kernel selection for combined kernel. This class selects a combination of baseline kernels that maximises the ratio of the MMD and its standard deviation for a combined kernel. This boils down to solve the convex program
\[ \min_\beta \{\beta^T (Q+\lambda_m) \beta \quad \text{s.t.}\quad \beta^T \eta=1, \beta\succeq 0\}, \] where \(\eta\) is a vector whose elements are the MMDs of the baseline kernels and \(Q\) is a linear time estimate of the covariance of \(\eta\) 
CMMDKernelSelectionMax  Kernel selection class that selects the single kernel that maximises the MMD statistic. Works for CQuadraticTimeMMD and CLinearTimeMMD. This leads to a heuristic that is better than the standard median heuristic for Gaussian kernels. However, it comes with no guarantees 
CMMDKernelSelectionMedian  Implements MMD kernel selection for a number of Gaussian baseline kernels via selecting the one with a bandwidth parameter that is closest to the median of all pairwise distances in the underlying data. Therefore, it only works for data to which a GaussianKernel can be applied, which are grouped under the class CDotFeatures in SHOGUN 
CMMDKernelSelectionOpt  Implements optimal kernel selection for single kernels. Given a number of baseline kernels, this method selects the one that minimizes the type II error for a given type I error for a twosample test. This only works for the CLinearTimeMMD statistic 
CNOCCO  This class implements the NOrmalized Cross Covariance Operator (NOCCO) based independence test as described in [1] 
CQuadraticTimeMMD  This class implements the quadratic time Maximum Mean Statistic as described in [1]. The MMD is the distance of two probability distributions \(p\) and \(q\) in a RKHS which we denote by
\[ \hat{\eta_k}=\text{MMD}[\mathcal{F},p,q]^2=\textbf{E}_{x,x'} \left[ k(x,x')\right]2\textbf{E}_{x,y}\left[ k(x,y)\right] +\textbf{E}_{y,y'}\left[ k(y,y')\right]=\mu_p  \mu_q^2_\mathcal{F} \] 
CStreamingMMD  Abstract base class that provides an interface for performing kernel twosample test on streaming data using Maximum Mean Discrepancy (MMD) as the test statistic. The MMD is the distance of two probability distributions \(p\) and \(q\) in a RKHS (see [1] for formal description) 
CTwoSampleTest  Provides an interface for performing the classical twosample test i.e. Given samples from two distributions \(p\) and \(q\), the nullhypothesis is: \(H_0: p=q\), the alternative hypothesis: \(H_1: p\neq q\) 
BmrmStatistics  
CCCSOSVM  CCSOSVM 
CDisjointSet  Class CDisjointSet data structure for linking graph nodes It's easy to identify connected graph, acyclic graph, roots of forest etc. please refer to http://en.wikipedia.org/wiki/Disjointset_data_structure 
CDualLibQPBMSOSVM  Class DualLibQPBMSOSVM that uses Bundle Methods for Regularized Risk Minimization algorithms for structured output (SO) problems [1] presented in [2] 
CDynProg  Dynamic Programming Class 
CFactorDataSource  Class CFactorDataSource Source for factor data. In some cases, the same data can be shared by many factors 
CFactor  Class CFactor A factor is defined on a clique in the factor graph. Each factor can have its own data, either dense, sparse or shared data. Note that currently this class is table factor oriented 
CFactorGraph  Class CFactorGraph a factor graph is a structured input in general 
CFactorGraphModel  CFactorGraphModel defines a model in terms of CFactorGraph and CMAPInference, where parameters are associated with factor types, in the model. There is a mapping vector records the locations of local factor parameters in the global parameter vector 
CFactorType  Class CFactorType defines the way of factor parameterization 
CTableFactorType  Class CTableFactorType the way that store assignments of variables and energies in a table or a multiarray 
CFWSOSVM  Class CFWSOSVM solves SOSVM using FrankWolfe algorithm [1] 
GCEdge  Graph cuts edge 
GCNode  Graph cuts node 
GCNodePtr  Graph guts node pointer 
CGraphCut  
CHashedMultilabelModel  Class CHashedMultilabelModel represents application specific model and contains application dependent logic for solving multilabel classification with feature hashing within a generic SO framework. We hash the feature of each class with a separate seed and put them in the same feature space (exploded feature space) 
CHierarchicalMultilabelModel  Class CHierarchicalMultilabelModel represents application specific model and contains application dependent logic for solving hierarchical multilabel classification[1] within a generic SO framework 
CHMSVMModel  Class CHMSVMModel that represents the application specific model and contains the application dependent logic to solve Hidden Markov Support Vector Machines (HMSVM) type of problems within a generic SO framework 
CIntronList  Class IntronList 
bmrm_ll  
ICP_stats  
line_search_res  
CMAPInference  Class CMAPInference performs MAP inference on a factor graph. Briefly, given a factor graph model, with features \(\bold{x}\), the prediction is obtained by \( {\arg\max} _{\bold{y}} P(\bold{Y} = \bold{y}  \bold{x}; \bold{w}) \) 
CMAPInferImpl  Class CMAPInferImpl abstract class of MAP inference implementation 
CMulticlassModel  Class CMulticlassModel that represents the application specific model and contains the application dependent logic to solve multiclass classification within a generic SO framework 
CRealNumber  Class CRealNumber to be used in the application of Structured Output (SO) learning to multiclass classification. Even though it is likely that it does not make sense to consider real numbers as structured data, it has been made in this way because the basic type to use in structured labels needs to inherit from CStructuredData 
CMulticlassSOLabels  Class CMulticlassSOLabels to be used in the application of Structured Output (SO) learning to multiclass classification. Each of the labels is represented by a real number and it is required that the values of the labels are in the set {0, 1, ..., num_classes1}. Each label is of type CRealNumber and all of them are stored in a CDynamicObjectArray 
CMultilabelCLRModel  Class MultilabelCLRModel represents application specific model and contains application dependent logic for solving multilabel classification using Calibrated Label Ranking (CLR) [1] method within a generic SO framework 
CMultilabelModel  Class CMultilabelModel represents application specific model and contains application dependent logic for solving multilabel classification within a generic SO framework 
CSparseMultilabel  Class CSparseMultilabel to be used in the application of Structured Output (SO) learning to Multilabel classification 
CMultilabelSOLabels  Class CMultilabelSOLabels used in the application of Structured Output (SO) learning to Multilabel Classification. Labels are subsets of {0, 1, ..., num_classes1}. Each of the label if of type CSparseMultilabel and all of them are stored in a CDynamicObjectArray 
CPlif  Class Plif 
CPlifArray  Class PlifArray 
CPlifBase  Class PlifBase 
CPlifMatrix  Store plif arrays for all transitions in the model 
CSegmentLoss  Class IntronList 
CSequence  Class CSequence to be used in the application of Structured Output (SO) learning to Hidden Markov Support Vector Machines (HMSVM) 
CSequenceLabels  Class CSequenceLabels used e.g. in the application of Structured Output (SO) learning to Hidden Markov Support Vector Machines (HMSVM). Each of the labels is represented by a sequence of integers. Each label is of type CSequence and all of them are stored in a CDynamicObjectArray 
CSOSVMHelper  Class CSOSVMHelper contains helper functions to compute primal objectives, dual objectives, average training losses, duality gaps etc. These values will be recorded to check convergence. This class is inspired by the matlab implementation of the block coordinate FrankWolfe SOSVM solver [1] 
CStateModel  Class CStateModel base, abstract class for the internal state representation used in the CHMSVMModel 
CStochasticSOSVM  Class CStochasticSOSVM solves SOSVM using stochastic subgradient descent on the SVM primal problem [1], which is equivalent to SGD or Pegasos [2]. This class is inspired by the matlab SGD implementation in [3] 
TMultipleCPinfo  
CResultSet  
CStructuredModel  Class CStructuredModel that represents the application specific model and contains most of the application dependent logic to solve structured output (SO) problems. The idea of this class is to be instantiated giving pointers to the functions that are dependent on the application, i.e. the combined feature representation \(\Psi(\bold{x},\bold{y})\) and the argmax function \( {\arg\max} _{\bold{y} \neq \bold{y}_i} \left \langle { \bold{w}, \Psi(\bold{x}_i,\bold{y}) } \right \rangle \). See: MulticlassModel.h and .cpp for an example of these functions implemented 
CTwoStateModel  Class CTwoStateModel class for the internal twostate representation used in the CHMSVMModel 
CDomainAdaptationMulticlassLibLinear  Domain adaptation multiclass LibLinear wrapper Source domain is assumed to b 
CDomainAdaptationSVM  Class DomainAdaptationSVM 
CDomainAdaptationSVMLinear  Class DomainAdaptationSVMLinear 
MappedSparseMatrix  Mapped sparse matrix for representing graph relations of tasks 
CLibLinearMTL  Class to implement LibLinear 
CMultitaskClusteredLogisticRegression  Class MultitaskClusteredLogisticRegression, a classifier for multitask problems. Supports only task group relations. Based on solver ported from the MALSAR library. Assumes task in group are related with a clustered structure 
CMultitaskKernelMaskNormalizer  The MultitaskKernel allows Multitask Learning via a modified kernel function 
CMultitaskKernelMaskPairNormalizer  The MultitaskKernel allows Multitask Learning via a modified kernel function 
CMultitaskKernelMklNormalizer  Baseclass for parameterized Kernel Normalizers 
CMultitaskKernelNormalizer  The MultitaskKernel allows Multitask Learning via a modified kernel function 
CMultitaskKernelPlifNormalizer  The MultitaskKernel allows learning a piecewise linear function (PLIF) via MKL 
CNode  A CNode is an element of a CTaxonomy, which is used to describe hierarchical structure between tasks 
CTaxonomy  CTaxonomy is used to describe hierarchical structure between tasks 
CMultitaskKernelTreeNormalizer  The MultitaskKernel allows Multitask Learning via a modified kernel function based on taxonomy 
CMultitaskL12LogisticRegression  Class MultitaskL12LogisticRegression, a classifier for multitask problems. Supports only task group relations. Based on solver ported from the MALSAR library 
Self  
CMultitaskLeastSquaresRegression  Class Multitask Least Squares Regression, a machine to solve regression problems with a few tasks related via group or tree. Based on L1/Lq regression for groups and L1/L2 for trees 
CMultitaskLinearMachine  Class MultitaskLinearMachine, a base class for linear multitask classifiers 
CMultitaskLogisticRegression  Class Multitask Logistic Regression used to solve classification problems with a few tasks related via group or tree. Based on L1/Lq regression for groups and L1/L2 for trees 
CMultitaskROCEvaluation  Class MultitaskROCEvalution used to evaluate ROC (Receiver Operating Characteristic) and an area under ROC curve (auROC) of each task separately 
CMultitaskTraceLogisticRegression  Class MultitaskTraceLogisticRegression, a classifier for multitask problems. Supports only task group relations. Based on solver ported from the MALSAR library 
CTask  Class Task used to represent tasks in multitask learning. Essentially it represent a set of feature vector indices 
CTaskGroup  Class TaskGroup used to represent a group of tasks. Tasks in group do not overlap 
CTaskRelation  Used to represent tasks in multitask learning 
CTaskTree  Class TaskTree used to represent a tree of tasks. Tree is constructed via task with subtasks (and subtasks of subtasks ..) passed to the TaskTree 
CGUIClassifier  UI classifier 
CGUIConverter  UI converter 
CGUIDistance  UI distance 
CGUIFeatures  UI features 
CGUIHMM  UI HMM (Hidden Markov Model) 
CGUIKernel  UI kernel 
CGUILabels  UI labels 
CGUIMath  UI math 
CGUIPluginEstimate  UI estimate 
CGUIPreprocessor  UI preprocessor 
CGUIStructure  UI structure 
CGUITime  UI time 
block_tree_node_t  
CSyntaxHighLight  Syntax highlight 
CTron  Class Tron 
d_node  
D_THREAD_PARAM  
ds_node  
EntryComparator  
mocas_data  
node  
ShogunFeatureVectorCallback  
ShogunLoggerImplementation  
task_tree_node_t  
tree_node_t 