BALL  1.4.1
nBModel.h
Go to the documentation of this file.
00001 /* nBModel.h
00002  * 
00003  * Copyright (C) 2009 Marcel Schumann
00004  * 
00005  * This file is part of QuEasy -- A Toolbox for Automated QSAR Model
00006  * Construction and Validation.
00007  * QuEasy is free software; you can redistribute it and/or modify
00008  * it under the terms of the GNU General Public License as published by
00009  * the Free Software Foundation; either version 3 of the License, or (at
00010  * your option) any later version.
00011  * 
00012  * QuEasy is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * General Public License for more details.
00016  * 
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, see <http://www.gnu.org/licenses/>.
00019  */
00020 
00021 // -*- Mode: C++; tab-width: 2; -*-
00022 // vi: set ts=2:
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines