SHOGUN  v3.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DimensionReductionPreprocessor.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) 2011 Sergey Lisitsyn
8  * Copyright (C) 2011 Berlin Institute of Technology and Max-Planck-Society
9  */
10 
11 #ifndef DIMENSIONREDUCTIONPREPROCESSOR_H_
12 #define DIMENSIONREDUCTIONPREPROCESSOR_H_
13 
18 
19 namespace shogun
20 {
21 
22 class CFeatures;
23 class CDistance;
24 class CKernel;
25 
31 {
32 public:
33 
36 
43 
46 
51  virtual bool init(CFeatures* data);
52 
57  virtual void cleanup();
58 
63 
68  {
69  return vector;
70  }
71 
73  virtual const char* get_name() const { return "DimensionReductionPreprocessor"; };
74 
76  virtual EPreprocessorType get_type() const;
77 
81  void set_target_dim(int32_t dim);
82 
86  int32_t get_target_dim() const;
87 
92 
96  CDistance* get_distance() const;
97 
101  void set_kernel(CKernel* kernel);
102 
106  CKernel* get_kernel() const;
107 
108 protected:
109 
111  void init();
112 
113 protected:
114 
116  int32_t m_target_dim;
117 
120 
123 
126 };
127 }
128 
129 #endif /* DIMENSIONREDUCTIONPREPROCESSOR_H_ */

SHOGUN Machine Learning Toolbox - Documentation