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 OPLSMODEL
00027 #define OPLSMODEL
00028
00029 #ifndef PLSMODEL
00030 #include <BALL/QSAR/plsModel.h>
00031 #endif
00032
00033
00034
00035 namespace BALL
00036 {
00037 namespace QSAR
00038 {
00039 class BALL_EXPORT OPLSModel : public PLSModel
00040 {
00041 public:
00045 OPLSModel(const QSARData& q);
00046
00047 ~OPLSModel();
00049
00050
00053
00054
00056 void train();
00057
00058 const Matrix<double>* getWOrtho();
00059
00060 const Matrix<double>* getTOrtho();
00061
00062 int getNoOrthoComponents();
00063
00064 void setNoOrthoComponents(int d);
00065
00066 bool optimizeParameters(int k, int no_steps);
00067
00068
00069 void setParameters(vector<double>& v);
00070
00071 vector<double> getParameters() const;
00073
00074
00075 private:
00079 Matrix<double> T_ortho_;
00080 Matrix<double> W_ortho_;
00081
00082 int no_ortho_components_;
00084 };
00085 }
00086 }
00087
00088
00089 #endif // OPLSMODEL