BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
QSAR
regressionValidation.h
Go to the documentation of this file.
1
/* regressionValidation.h
2
*
3
* Copyright (C) 2009 Marcel Schumann
4
*
5
* This file is part of QuEasy -- A Toolbox for Automated QSAR Model
6
* Construction and Validation.
7
* QuEasy is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 3 of the License, or (at
10
* your option) any later version.
11
*
12
* QuEasy is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
// -*- Mode: C++; tab-width: 2; -*-
22
// vi: set ts=2:
23
//
24
//
25
26
#ifndef REGVALIDATION
27
#define REGVALIDATION
28
29
#ifndef QSARDATA
30
#include <
BALL/QSAR/QSARData.h
>
31
#endif
32
33
#ifndef VALIDATION
34
#include <
BALL/QSAR/validation.h
>
35
#endif
36
37
#include <gsl/gsl_randist.h>
38
#include <gsl/gsl_cdf.h>
39
#include <iterator>
40
41
42
#include <
BALL/MATHS/LINALG/matrix.h
>
43
#include <
BALL/MATHS/LINALG/vector.h
>
44
45
46
47
namespace
BALL
48
{
49
namespace
QSAR
50
{
51
class
RegressionModel;
53
class
BALL_EXPORT
RegressionValidation
:
public
Validation
54
{
55
public
:
61
RegressionValidation
(
RegressionModel
* m);
62
63
~
RegressionValidation
();
65
66
73
void
crossValidation(
int
k
,
bool
restore=1);
74
79
void
crossValidation(
int
k, vector<
BALL::Matrix<double>
>* results,
bool
restore=1);
80
81
85
void
bootstrap(
int
k,
bool
restore=1);
86
91
void
bootstrap(
int
k, vector<
BALL::Matrix<double>
>* results,
bool
restore=1);
92
93
void
bootstrap1(
int
k, vector<
BALL::Matrix<double>
>* results,
bool
restore=1);
94
98
const
BALL::Matrix<double>
& yRandomizationTest(
int
runs,
int
k);
99
102
double
getQ2();
103
106
double
getR2();
107
110
double
getFregr();
111
114
double
getFcv();
115
116
double
getCVRes();
117
118
double
getFitRes();
119
121
double
getMaxError();
122
123
void
setCVRes(
double
d);
124
126
void
setQ2(
double
d);
127
128
void
testInputData(
bool
transform=0);
129
133
void
selectStat(
int
s);
134
138
void
calculateCoefficientStdErrors(
int
k,
bool
b=1);
139
141
const
BALL::Matrix<double>
* getCoefficientStdErrors();
142
143
void
setCoefficientStdErrors(
const
BALL::Matrix<double>
* stddev);
144
145
void
saveToFile(
string
filename)
const
;
146
147
void
saveToFile(
string
filename,
const
double
& r2,
const
double
& q2,
const
Matrix<double>
& coefficient_stddev,
const
Matrix<double>
& yRand_results)
const
;
148
149
void
readFromFile(
string
filename);
151
152
153
private
:
154
155
struct
BackupData
156
{
157
Matrix<double>
descriptor_matrix
;
158
Matrix<double>
training_result
;
159
Matrix<double>
Y
;
160
Matrix<double>
K
;
161
Matrix<double>
latent_variables
;
162
Matrix<double>
loadings
;
163
Matrix<double>
weights
;
164
};
165
166
171
void
testAllSubstances(
bool
transform);
172
173
void
backupTrainingResults();
174
175
void
restoreTrainingResults();
177
178
182
183
double
ssR_
;
184
185
double
ssE_
;
186
188
double
ssY_
;
189
191
double
std_err_
;
192
194
double
Q2_
;
195
197
double
F_cv_
;
198
200
double
F_regr_
;
201
202
double
R2_
;
203
204
double
max_error_
;
205
207
double
quality_
;
208
209
double
(
RegressionValidation
::* predQualFetcher_)();
210
211
double
(
RegressionValidation
::* fitQualFetcher_)();
212
213
void
calculateQOF();
214
216
BALL::Matrix<double>
coefficient_stderr_
;
217
219
RegressionModel
*
regr_model_
;
220
221
BackupData
backup_data_
;
222
223
void (
RegressionValidation
::* qualCalculation)();
225
226
};
227
}
228
}
229
230
231
232
#endif // REGVALIDATION
Generated by
1.8.3.1