This file is indexed.

/usr/include/BALL/QSAR/classificationModel.h is in libball1.4-dev 1.4.1+20111206-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/* classificationModel.h
 * 
 * Copyright (C) 2009 Marcel Schumann
 * 
 * This file is part of QuEasy -- A Toolbox for Automated QSAR Model
 * Construction and Validation.
 * QuEasy is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or (at
 * your option) any later version.
 * 
 * QuEasy is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, see <http://www.gnu.org/licenses/>.
 */

// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// 

#ifndef CLASSIFICATION
#define CLASSIFICATION

#ifndef MODELH
#include <BALL/QSAR/Model.h>
#endif

#ifndef CLASVALIDATION
#include <BALL/QSAR/classificationValidation.h>
#endif

#ifndef QSAR_EXCEPTION
#include <BALL/QSAR/exception.h>
#endif


namespace BALL
{
	namespace QSAR
	{
		class BALL_EXPORT ClassificationModel : public Model
		{
			public:
				/** @name Constructors and Destructors
				 */
				//@{
				/** constructur,
				@param q QSAR-wrapper object, from which the data for this model should be taken */
				ClassificationModel(const QSARData& q);
				
				~ClassificationModel();

				virtual void operator=(ClassificationModel& m);
				//@}
				
				
				/** @name Attributes
				 */
				//@{
				/** a ClassificationValidation object, that is used to validate this model and that will contain the results of the validations */
				ClassificationValidation* validation;
				
				std::vector<int> getClassLabels();
				//@}
				
				
			protected:
	
				/** @name Accessors
				 */
				//@{
				/** read all different class labels from matrix Y into ClassificationModel.labels */
				void readLabels();
				
				/** the number of substances in each class of the training data */
				std::vector<int> no_substances_;
				//@}
				
				/** @name Input and Output. The following methods can be used to implement the functions saveToFile() and readFromFile() in final classes derived from this base-class 
				 */
				//@{
				void readClassInformationFromFile(std::ifstream& input, int no_classes);
				void saveClassInformationToFile(std::ofstream& out);
				//@}
				
				
				
				/** @name Feature discretization function
				 */
				//@{
				/** Interface function-definition for discretization of features.\n
				Thus, various functions that do the actual discretization can be created as members of ClassificationModel, allowing switching of the discretization technique by only (re-)setting this function-pointer.
				@param bins the number of discrete values to be created for each features 
				@param discretization_information a BALL::Matrix<double> into which the information about the applied discretization should be saved (into one column per feature). \n
				This BALL::Matrix<double> can later be used to discretize test data according to the discretization of the training data. */
				void (ClassificationModel::* discretizeFeatures)(uint bins, BALL::Matrix<double>& discretization_information);
				
				/** Discretizes test data according to the given discretization of the training data.
				@param discretization_information the discretization according to which the current descriptor_matrix should be discretized. */
				void (ClassificationModel::* discretizeTestDataFeatures)(Vector<double>& compound, uint bins, const BALL::Matrix<double>& discretization_information);
				
				
				/** discretizes each feature in such a way that each created bin has an equal range of values */
				void equalSpaceDiscretization(uint bins, BALL::Matrix<double>& discretization_information);
				
				void equalSpaceDiscretizationTestData(Vector<double>& compound, uint bins, const BALL::Matrix<double>& discretization_information);
				
				
				
				
				//@}
				
	
				/** @name Attributes
				 */
				//@{
				/** labels for the different classes */
				std::vector<int> labels_;
				//@}
				
				friend class ClassificationValidation;
				
				
				
		};
	}
}

#endif // CLASSIFICATION