00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef GPMODEL
00027 #define GPMODEL
00028
00029 #ifndef KMODEL
00030 #include <BALL/QSAR/kernelModel.h>
00031 #endif
00032
00033 #ifndef NLMODEL
00034 #include <BALL/QSAR/nonlinearModel.h>
00035 #endif
00036
00037 namespace BALL
00038 {
00039 namespace QSAR
00040 {
00041 class BALL_EXPORT GPModel : public KernelModel
00042 {
00043 public:
00047 GPModel(const QSARData& q, int k_type, double p1, double p2=-1);
00048
00049 GPModel(const QSARData& q, Vector<double>& w);
00050
00052 GPModel(const QSARData& q, String s1, String s2);
00053
00054 GPModel(const QSARData& q, const LinearModel& lm, int column);
00055
00056 ~GPModel();
00058
00062 void train();
00063
00064 Vector<double> predict(const vector<double>& substance, bool transform=1);
00065
00067 double calculateStdErr();
00068
00069 void setParameters(vector<double>& v);
00070
00071 vector<double> getParameters() const;
00073
00074 private:
00078 Matrix<double> L_;
00079
00081 Vector<double> input_;
00082
00083 Vector<double> K_t_;
00084
00085 double lambda_;
00087 };
00088 }
00089 }
00090
00091 #endif // GPMODEL