SHOGUN  3.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Histogram.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 1999-2009 Soeren Sonnenburg
8  * Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max-Planck-Society
9  */
10 
11 #ifndef _HISTOGRAM_H___
12 #define _HISTOGRAM_H___
13 
14 #include <shogun/lib/config.h>
15 
18 
19 namespace shogun
20 {
21  template <class ST> class CStringFeatures;
22 
28 class CHistogram : public CDistribution
29 {
30  public:
32  CHistogram();
33 
39  virtual ~CHistogram();
40 
49  virtual bool train(CFeatures* data=NULL);
50 
55  virtual int32_t get_num_model_parameters() { return (1<<16); }
56 
62  virtual float64_t get_log_model_parameter(int32_t num_param);
63 
71  int32_t num_param, int32_t num_example);
72 
78  virtual float64_t get_log_likelihood_example(int32_t num_example);
79 
84  virtual bool set_histogram(const SGVector<float64_t> histogram);
85 
92 
94  virtual const char* get_name() const { return "Histogram"; }
95 
96  protected:
99 };
100 }
101 #endif

SHOGUN Machine Learning Toolbox - Documentation