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 NBMODEL
00027 #define NBMODEL
00028
00029 #ifndef BAYESMODEL
00030 #include <BALL/QSAR/bayesModel.h>
00031 #endif
00032
00033 #ifndef STATISTICS
00034 #include <BALL/QSAR/statistics.h>
00035 #endif
00036
00037 namespace BALL
00038 {
00039 namespace QSAR
00040 {
00041
00043 class BALL_EXPORT NBModel : public BayesModel
00044 {
00045 public:
00049 NBModel(const QSARData& q);
00050
00051 ~NBModel();
00053
00054
00058 void train();
00059
00060 Vector<double> predict(const vector<double>& substance, bool transform=1);
00061
00062 void saveToFile(string filename);
00063
00064 void readFromFile(string filename);
00065
00066 vector<double> getParameters() const;
00067
00068 void setParameters(vector<double>& v);
00069
00070 bool isTrained();
00071
00072 vector<double> calculateProbabilities(int activitiy_index, int feature_index, double feature_value);
00073
00074 int getNoResponseVariables();
00076
00077
00078 private:
00082
00083 uint discretization_steps_;
00084
00085
00087 Matrix<double> min_max_;
00088
00091 vector<vector<Matrix<double> > > probabilities_;
00092
00093
00094
00096 };
00097 }
00098 }
00099
00100 #endif //NBMODEL