BALL  1.5.0
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 
41 
42  Kernel(Model* m, Eigen::VectorXd& w);
43 
46  Kernel(Model* m, const LinearModel& lm, int column);
47 
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
Definition: constants.h:13
BALL_EXTERN_VARIABLE const double k
Definition: constants.h:93
void calculateKernelMatrix4(Eigen::MatrixXd &input, Eigen::MatrixXd &output)
Kernel(Model *m, const LinearModel &lm, int column)
void gridSearch(double step_width, int steps, bool first_rec, int k, double par1_start, double par2_start, bool opt)
void calculateKernelMatrix1(Eigen::MatrixXd &input, Eigen::MatrixXd &output)
void calculateWeightedKernelMatrix(Eigen::MatrixXd &m1, Eigen::MatrixXd &m2, Eigen::MatrixXd &output)
void calculateKernelMatrix1(Eigen::MatrixXd &m1, Eigen::MatrixXd &m2, Eigen::MatrixXd &output)
void calculateKernelMatrix(Eigen::MatrixXd &K, Eigen::MatrixXd &m1, Eigen::MatrixXd &m2, Eigen::MatrixXd &output)
Kernel(Model *m, String f, String g)
void calculateKernelMatrix4(Eigen::MatrixXd &m1, Eigen::MatrixXd &m2, Eigen::MatrixXd &output)
void calculateKernelMatrix3(Eigen::MatrixXd &input, Eigen::MatrixXd &output)
void calculateKernelMatrix3(Eigen::MatrixXd &m1, Eigen::MatrixXd &m2, Eigen::MatrixXd &output)
void calculateKernelVector(Eigen::MatrixXd &K, Eigen::VectorXd &m1, Eigen::MatrixXd &m2, Eigen::RowVectorXd &output)
Kernel(Model *m, int k_type, double p1, double p2=-1)
Kernel(Model *m, Eigen::VectorXd &w)
void gridSearch(double step_width, int steps, int recursions, int k, bool opt=0)
void calculateKernelMatrix2(Eigen::MatrixXd &m1, Eigen::MatrixXd &m2, Eigen::MatrixXd &output)
void calculateKernelMatrix(Eigen::MatrixXd &input, Eigen::MatrixXd &output)
Eigen::VectorXd weights_
Definition: QSAR/kernel.h:151
void calculateKernelMatrix2(Eigen::MatrixXd &input, Eigen::MatrixXd &output)
void calculateWeightedKernelMatrix(Eigen::MatrixXd &input, Eigen::MatrixXd &output)
#define BALL_EXPORT
Definition: COMMON/global.h:50