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 SNBMODEL
00027 #define SNBMODEL
00028
00029 #ifndef STATISTICS
00030 #include <BALL/QSAR/statistics.h>
00031 #endif
00032
00033 #ifndef BAYESMODEL
00034 #include <BALL/QSAR/bayesModel.h>
00035 #endif
00036
00037
00038 namespace BALL{
00039 namespace QSAR {
00040
00042 class BALL_EXPORT SNBModel : public BayesModel
00043 {
00044 public:
00048 SNBModel(const QSARData& q);
00049
00050 ~SNBModel();
00052
00053
00057 void train();
00058
00059 Vector<double> predict(const vector<double>& substance, bool transform=1);
00060
00061 vector<double> getParameters() const;
00062
00063 void setParameters(vector<double>& v);
00064
00065 void saveToFile(string filename);
00066
00067 bool isTrained();
00068
00069 void readFromFile(string filename);
00070
00073 vector<double> calculateProbabilities(int activitiy_index, int feature_index, double feature_value);
00074
00075 int getNoResponseVariables();
00077
00078
00079 private:
00084 vector<Matrix<double> > mean_;
00085
00087 vector<Matrix<double> > stddev_;
00088
00089 static const double sqrt2Pi_;
00090
00091
00092
00094 };
00095 }
00096 }
00097
00098 #endif //SNBMODEL