BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
allModel.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_ALLMODEL_H
7 #define BALL_QSAR_ALLMODEL_H
8 
9 #ifndef BALL_QSAR_NONLINEARMODEL_H
11 #endif
12 
13 
14 namespace BALL
15 {
16  namespace QSAR
17  {
18 
21  {
22  public:
26  ALLModel(const QSARData& q, double kw=4);
27 
28  ~ALLModel();
30 
34  void setKw(double kw);
35 
36  virtual Eigen::VectorXd predict(const vector<double>& substance, bool transform=1);
37 
39  void train(){};
40 
42  virtual bool optimizeParameters(int d, int no_steps);
43 
45  double getKw();
46 
47  virtual void setParameters(vector<double>& v);
48 
49  virtual vector<double> getParameters() const;
50 
51  void saveToFile(string filename);
52 
53  void readFromFile(string filename);
55 
56 
57  protected:
58 
62  virtual void calculateWeights(Eigen::MatrixXd& dist, Eigen::VectorXd& w);
63 
65  void calculateXX(Eigen::VectorXd& w, Eigen::MatrixXd& res);
66 
68  void calculateXY(Eigen::VectorXd& w, Eigen::MatrixXd& res);
69 
71  void calculateEuclDistanceMatrix(Eigen::MatrixXd& m1, Eigen::MatrixXd& m2, Eigen::MatrixXd& output);
73 
74 
79  double kw_;
80  double lambda_;
82  };
83  }
84 }
85 
86 #endif // ALLMODEL
#define BALL_EXPORT
Definition: COMMON/global.h:50