Skip to content

Instantly share code, notes, and snippets.

@sanuj
Last active May 19, 2016 12:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sanuj/56f03cd242473137fad851e68fa0f2c1 to your computer and use it in GitHub Desktop.
Save sanuj/56f03cd242473137fad851e68fa0f2c1 to your computer and use it in GitHub Desktop.
Details about base shogun framework

machine

  • CMulticlassMachine > CBaseMulticlassMachine > [3]
  • CLinearLatentMachine > CLinearMachine > [3]
  • gp/CDualVariationalGaussianLikelihood > [4]
  • gp/CNumericalVGLikelihood > [4]
  • gp/CSingleFITCInference > CSingleSparseInference > CSparseInference > [2]
  • gp/CKLLowerTriangularInference > CKLInference > [2]
  • gp/CLaplaceInference > [2]
  • gp/CMeanFunction > CSGObject

evaluation

  • CSplittingStrategy > CSGObject
  • CEvaluationResult > CSGObject
  • CMachineEvaluation > CSGObject
  • CClusteringEvaluation > [10]
  • CBinaryClassEvaluation > [10]
  • CCrossValidationOutput > CSGObject

distance

  • CRealDistance > CDenseDistance > [5]
  • CStringDistance > [5]
  • CSparseDistance > [5]

classifier

  • CMKL > CSVM > CKernelMachine > CMachine > CSGObject
  • vw/cache/CVwCacheWriter > CSGObject
  • vw/cache/CVwCacheReader > CSGObject
  • vw/cache/CVwLearner > CSGObject

mathematics

  • linalg/linsolver/CIterativeShiftedLinearFamilySolver > CIterativeLinearSolver > CLinearSolver > CSGObject
  • CMatrixOperator > CLinearOperator > CSGObject
  • linalg/eigsolver/CEigenSolver > CSGObject
  • linalg/ratapprox/opfunc/COperatorFunction > CSGObject
  • linalg/ratapprox/tracesampler/CTraceSampler > CSGObject
  • linalg/ratapprox/opfunc/CRationalApproximation > COperatorFunction > CSGObject
  • CFunction > CSGObject

distributions

  • CDiscreteDistribution > CDistribution > CSGObject
  • CEMBase > CSGObject
  • classical/CProbabilityDistribution > CSGObject

loss

  • CLossFunction > CSGObject

ui

  • CSGInterface > CSGObject

io

  • CFile > CSGObject # Has commented out pure virtual func

structure

  • CPlifBase > CSGObject
  • CStructuredModel > CSGObject
  • CMAPInference > CSGObject
  • CStateModel > CSGObject

optimization

  • FirstOrderBoundConstraintsCostFunction > FirstOrderCostFunction
  • FirstOrderSAGCostFunction > FirstOrderStochasticCostFunction > FirstOrderCostFunction
  • FirstOrderStochasticMinimizer > FirstOrderMinimizer > Minimizer
  • liblinear/CTron > CSGObject
  • LearningRate
  • MappingFunction
  • DescendCorrection
  • SparsePenalty > ProximalPenalty > Penalty
  • DescendUpdater

preprocessor

  • CSparsePreprocessor > [8]
  • CDependenceMaximization > CFeatureSelection > [8]
  • CDensePreprocessor > [8]
  • CStringPreprocessor > [8]
  • CKernelDependenceMaximization > CDependenceMaximization > CFeatureSelection > [8]

lib

  • SGReferencedData
  • CTokenizer > CSGObject
  • computation/aggregator/CStoreVectorAggregator > CJobResultAggregator > CSGObject
  • computation/engine/CIndependentComputationEngine > CSGObject
  • computation/job/CIndependentJob > CSGObject

multiclass

  • CECOCSimpleDecoder > CECOCDecoder > CSGObject
  • CMulticlassStrategy > CSGObject
  • CConditionalProbabilityTree > [9]
  • CNbodyTree > [9]
  • CVwConditionalProbabilityTree > [9]
  • CECOCEncoder > CSGObject
  • CECOCDecoder > CSGObject
  • CRejectionStrategy > CSGObject

latent

  • CLatentModel > CSGObject

kernel

  • CExponentialARDKernel > CDotKernel > [6]
  • CSparseKernel > [6]
  • CStringKernel > [6]
  • /normalizer/CKernelNormalizer > CSGObject

features

  • CStreamingDotFeatures > CStreamingFeatures > [7]
  • CRandomKitchenSinksDotFeatures > CDotFeatures > [7]
  • CAttributeFeatures > [7]

statistics

  • CMMDKernelSelection > CKernelSelection > CSGObject
  • CKernelTwoSampleTest > CTwoSampleTest > CHypothesisTest > CSGObject
  • CKernelIndependenceTest > CIndependenceTest > CHypothesisTest > CSBObject

transfer/multitask

  • CMultitaskKernelMklNormalizer > CKernelNormalizer > CSGObject
  • CTaskRelation > CSGObject

modelselection

  • CModelSelection > CSGObject

labels

  • CDenseLabels > CLabels > CSGObject

converter

  • CEmbeddingConverter > [11]
  • CICAConverter > [11]

ensemble

  • CCombinationRule > CSGObject

[1]: CVariationalLikelihood > CLikelihoodModel > CSGObject

[2]: CInference > CDifferentiableFunction > CSGObject

[3]: CMachine > CSGObject

[4]: CVariationalGaussianLikelihood > [1]

[5]: CDistance > CSGObject

[6]: CKernel > CSGObject

[7]: CFeatures > CSGObject

[8]: CPreprocessor > CSGObject

[9]: CTreeMachine > CBaseMulticlassMachine > [3]

[10]: CEvaluation > CSGObject

[11]: CConverter > CSGObject

@lisitsyn
Copy link

It is definitely:

  • Kernels and Distances
  • Features, DotFeatures, DenseFeatures, SparseFeatures
  • Machine, LinearMachine, MulticlassMachine
  • Preprocessor, Converter

Let's see other suggestions

@karlnapf
Copy link

I would more do this as a class diagram

@karlnapf
Copy link

Starting from ML paradigms:

  • supervised learning
  • unsupervised learning
  • statistical testing
  • feature extraction
  • preprocessing
  • model selection
  • optimization
  • different feature representations
  • etc

To classes of these algorithms

  • density estimation
  • classification
  • regression
  • two-sample testing

and subclasses sucha s

  • kernel machine
  • linear model
  • densities with gradients
  • continuous /discrete

To more concrete algorithms

@karlnapf
Copy link

This needs to be far more concrete than above btw!!
We need signatures and a very concrete list that contains at least 80% of all shogun classes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment