BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
QSAR/kernel.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 //
5 
6 #ifndef BALL_QSAR_KERNEL_H
7 #define BALL_QSAR_KERNEL_H
8 
9 #ifndef BALL_QSAR_LINEARMODEL_H
10 #include <BALL/QSAR/linearModel.h>
11 #endif
12 
13 #ifndef BALL_QSAR_MODEL_H
14 #include <BALL/QSAR/Model.h>
15 #endif
16 
17 #ifndef BALL_QSAR_EXCEPTION_H
18 #include <BALL/QSAR/exception.h>
19 #endif
20 
21 #ifndef BALL_QSAR_REGRESSIONMODEL_H
23 #endif
24 
25 #include <cmath>
26 #include <sstream>
27 
28 namespace BALL
29 {
30  namespace QSAR
31  {
33  {
34  public:
38  Kernel(Model* m, int k_type, double p1, double p2=-1);
39 
40  Kernel(Model* m, String f, String g);
41 
42  Kernel(Model* m, Eigen::VectorXd& w);
43 
46  Kernel(Model* m, const LinearModel& lm, int column);
47 
48  ~Kernel();
49 
50  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
52 
53 
61  void calculateKernelMatrix(Eigen::MatrixXd& input, Eigen::MatrixXd& output);
62 
67  void calculateKernelMatrix(Eigen::MatrixXd& K, Eigen::MatrixXd& m1, Eigen::MatrixXd& m2, Eigen::MatrixXd& output);
68 
69 
71  void calculateKernelVector(Eigen::MatrixXd& K,Eigen::VectorXd& m1, Eigen::MatrixXd& m2, Eigen::RowVectorXd& output);
72 
79  void gridSearch(double step_width, int steps, int recursions, int k, bool opt=0);
81 
82 
92  int type;
93 
95  double par1, par2;
96 
101 
107 
108 
109  protected:
113 
114  void gridSearch(double step_width, int steps, bool first_rec, int k, double par1_start, double par2_start, bool opt);
115 
118  void calculateWeightedKernelMatrix(Eigen::MatrixXd& input, Eigen::MatrixXd& output);
119 
120 
123  void calculateWeightedKernelMatrix(Eigen::MatrixXd& m1, Eigen::MatrixXd& m2, Eigen::MatrixXd& output);
124 
125 
126  void calculateKernelMatrix1(Eigen::MatrixXd& input, Eigen::MatrixXd& output);
127 
128  void calculateKernelMatrix2(Eigen::MatrixXd& input, Eigen::MatrixXd& output);
129 
130  void calculateKernelMatrix3(Eigen::MatrixXd& input, Eigen::MatrixXd& output);
131 
132  void calculateKernelMatrix4(Eigen::MatrixXd& input, Eigen::MatrixXd& output);
133 
134 
135  void calculateKernelMatrix1(Eigen::MatrixXd& m1, Eigen::MatrixXd& m2, Eigen::MatrixXd& output);
136 
137  void calculateKernelMatrix2(Eigen::MatrixXd& m1, Eigen::MatrixXd& m2, Eigen::MatrixXd& output);
138 
139  void calculateKernelMatrix3(Eigen::MatrixXd& m1, Eigen::MatrixXd& m2, Eigen::MatrixXd& output);
140 
141  void calculateKernelMatrix4(Eigen::MatrixXd& m1, Eigen::MatrixXd& m2, Eigen::MatrixXd& output);
143 
144 
150 
151  Eigen::VectorXd weights_;
153 
154 
155  friend class FeatureSelection;
156 
157  };
158  }
159 }
160 
161 #endif // KERNEL
Eigen::VectorXd weights_
Definition: QSAR/kernel.h:151
BALL_EXTERN_VARIABLE const double k
Definition: constants.h:93
#define BALL_EXPORT
Definition: COMMON/global.h:50