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
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
28namespace 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