File: bayesModel.h

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-6
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 239,888 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 95
file content (45 lines) | stat: -rw-r--r-- 1,330 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
//

#ifndef BALL_QSAR_BAYESMODEL_H
#define BALL_QSAR_BAYESMODEL_H

#ifndef BALL_QSAR_CLASSIFICATIONMODEL_H
#include <BALL/QSAR/classificationModel.h>
#endif

namespace BALL
{
	namespace QSAR
	{
		/** interface class for all Bayes classification models */
		class BALL_EXPORT BayesModel : public ClassificationModel
		{
			public:

				BayesModel(const QSARData& q);

				virtual bool isTrained() = 0;

				/** calculate the probability for the specified feature to assume the given value for each class
				@return a probability for each class */
				virtual vector<double> calculateProbabilities(int activitiy_index, int feature_index, double feature_value) = 0;

				/** returns the number of response variables for which this model has been trained */
				virtual int getNoResponseVariables() = 0;


			protected:
				/** the minimal desired difference between the predicted class and the second best class. If the difference is smaller than this value, undef_act_class_id_ should be used instead.*/
				double min_prob_diff_;

				/** the class_id that is to be assigned, if no class could be savely predicted, if difference between best and second best potential class is smaller than min_prob_diff_ */
				double undef_act_class_id_;

		};
	}
}

#endif //BAYESMODEL_H