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 LDAMODEL
00027 #define LDAMODEL
00028
00029 #ifndef CLASSIFICATION
00030 #include <BALL/QSAR/classificationModel.h>
00031 #endif
00032
00033 #ifndef STATISTICS
00034 #include <BALL/QSAR/statistics.h>
00035 #endif
00036
00037 namespace BALL{
00038 namespace QSAR {
00039
00041 class BALL_EXPORT LDAModel : public ClassificationModel
00042 {
00043 public:
00047 LDAModel(const QSARData& q);
00048
00049 ~LDAModel();
00051
00052
00056 void train();
00057
00058 Vector<double> predict(const vector<double>& substance, bool transform=1);
00059
00060 void setParameters(vector<double>& v);
00061
00062 vector<double> getParameters() const;
00063
00064 void saveToFile(string filename);
00065
00066 void readFromFile(string filename);
00068
00069
00070 private:
00075 Matrix<double> sigma_;
00076
00077
00078 double lambda_;
00079
00081 vector<Matrix<double> > mean_vectors_;
00083 };
00084 }
00085 }
00086
00087 #endif //LDAMODEL