Loading...
Searching...
No Matches
BALL::QSAR::RegressionValidation Class Reference

`#include <BALL/QSAR/regressionValidation.h>`

Inheritance diagram for BALL::QSAR::RegressionValidation:

## Public Member Functions

Constructors and Destructors
| RegressionValidation (RegressionModel *m)
| ~RegressionValidation ()
Public Member Functions inherited from BALL::QSAR::Validation
| Validation (Model *m)
virtual | ~Validation ()
const Eigen::MatrixXd & | getYRandResults () const
int | getStat () const

## Accessors

void | crossValidation (int k, bool restore=true)
void | crossValidation (int k, MatrixVector *results, bool restore=true)
void | bootstrap (int k, bool restore=1)
void | bootstrap (int k, MatrixVector *results, bool restore=true)
void | bootstrap1 (int k, MatrixVector *results, bool restore=true)
const Eigen::MatrixXd & | yRandomizationTest (int runs, int k)
double | getQ2 ()
double | getR2 ()
double | getFregr ()
double | getFcv ()
double | getCVRes ()
double | getFitRes ()
double | getMaxError ()
void | setCVRes (double d)
void | setQ2 (double d)
void | testInputData (bool transform=0)
void | selectStat (int s)
void | calculateCoefficientStdErrors (int k, bool b=1)
const Eigen::MatrixXd * | getCoefficientStdErrors ()
void | setCoefficientStdErrors (const Eigen::MatrixXd *stddev)
void | saveToFile (string filename) const
void | saveToFile (string filename, const double &r2, const double &q2, const Eigen::MatrixXd &coefficient_stddev, const Eigen::MatrixXd &yRand_results) const
void | readFromFile (string filename)

## Additional Inherited Members

void | setTrainingLine (int train_line, int current_line)
void | setTestLine (int test_line, int current_line, bool back_transform=0)
void | yRand ()
Protected Attributes inherited from BALL::QSAR::Validation
vector< vector< double > > | test_substances_
Eigen::MatrixXd | test_Y_
vector< string > | substances_names_
Model * | model_
int | validation_statistic_
Eigen::MatrixXd | yRand_results_

## Detailed Description

class for validation of QSAR regression models

Definition at line 23 of file regressionValidation.h.

## Constructor & Destructor Documentation

## RegressionValidation()

BALL::QSAR::RegressionValidation::RegressionValidation | ( | RegressionModel * | m | ) |

constructor

Parameters

  m | pointer to the regression model, which the object of this class should test

## ~RegressionValidation()

BALL::QSAR::RegressionValidation::~RegressionValidation | ( |  | ) |

## Member Function Documentation

## bootstrap() [1/2]

void BALL::QSAR::RegressionValidation::bootstrap | ( | int | k,
|  | bool | restore = 1 )

virtual

starts bootstrapping with k samples

Parameters

  k | no of bootstrap samples
  restore | if restore==1, Model.descriptor_matrix and RegressionModel.training_result is restored after bootstrapping

Implements BALL::QSAR::Validation.

## bootstrap() [2/2]

void BALL::QSAR::RegressionValidation::bootstrap | ( | int | k,
|  | MatrixVector * | results,
|  | bool | restore = true )

starts bootstrapping with k samples

Parameters

  k | no of bootstrap samples
  restore | if restore==1, Model.descriptor_matrix and RegressionModel.training_result is restored after bootstrapping
  results | pointer to vector that should take all matrices RegressionModel.training_result produced during this bootstrapping

## bootstrap1()

void BALL::QSAR::RegressionValidation::bootstrap1 | ( | int | k,
|  | MatrixVector * | results,
|  | bool | restore = true )

## calculateCoefficientStdErrors()

void BALL::QSAR::RegressionValidation::calculateCoefficientStdErrors | ( | int | k,
|  | bool | b = 1 )

calculates standart deviations for all predicted coefficients and saves them to coefficient_stddev_

Parameters

  b | if b==1, bootstrapping is used; else: cross-validation
  k | number of bootstrap samples resp. cross-validation steps

## crossValidation() [1/2]

void BALL::QSAR::RegressionValidation::crossValidation | ( | int | k,
|  | bool | restore = true )

virtual

starts k-fold cross validation

Parameters

  k | no of cross validation folds
  restore | if restore==1, Model.descriptor_matrix and RegressionModel.training_result is restored after cross validation

Implements BALL::QSAR::Validation.

## crossValidation() [2/2]

void BALL::QSAR::RegressionValidation::crossValidation | ( | int | k,
|  | MatrixVector * | results,
|  | bool | restore = true )

starts k-fold cross validation

Parameters

  k | no of cross validation folds
  restore | if restore==1, Model.descriptor_matrix and RegressionModel.training_result is restored after cross validation
  results | pointer to vector that should take all matrices RegressionModel.training_result produced during this cross validation run

## getCoefficientStdErrors()

const Eigen::MatrixXd * BALL::QSAR::RegressionValidation::getCoefficientStdErrors | ( |  | ) |

returns a const pointer to the matrix containing the standart deviations of all predicted coefficients

## getCVRes()

double BALL::QSAR::RegressionValidation::getCVRes | ( |  | ) |

virtual

fetches the result of cross-validation

Implements BALL::QSAR::Validation.

## getFcv()

double BALL::QSAR::RegressionValidation::getFcv | ( |  | ) |

get the F-value as calculated by cross validation.
If crossValidation() has not been run yet, -1 is returned

## getFitRes()

double BALL::QSAR::RegressionValidation::getFitRes | ( |  | ) |

virtual

fetches the quality of fit to the input data, as calculated by testInputData()

Implements BALL::QSAR::Validation.

## getFregr()

double BALL::QSAR::RegressionValidation::getFregr | ( |  | ) |

get the F-value as calculated by testInputData().
If testInputData() has not been run yet, -1 is returned

## getMaxError()

double BALL::QSAR::RegressionValidation::getMaxError | ( |  | ) |

returns the maximal error of the prediction

## getQ2()

double BALL::QSAR::RegressionValidation::getQ2 | ( |  | ) |

get the Q^2 value.
If no cross-validation has been done yet, -1 is returned

## getR2()

double BALL::QSAR::RegressionValidation::getR2 | ( |  | ) |

get the R^2 value.
If testInputData() has not been run yet, -1 is returned

## readFromFile()

void BALL::QSAR::RegressionValidation::readFromFile | ( | string | filename | ) |

virtual

restore validation-results from a file

Implements BALL::QSAR::Validation.

## saveToFile() [1/2]

void BALL::QSAR::RegressionValidation::saveToFile | ( | string | filename | ) | const

virtual

save the result of the applied validation methods to a file

Implements BALL::QSAR::Validation.

## saveToFile() [2/2]

void BALL::QSAR::RegressionValidation::saveToFile | ( | string | filename,
|  | const double & | r2,
|  | const double & | q2,
|  | const Eigen::MatrixXd & | coefficient_stddev,
|  | const Eigen::MatrixXd & | yRand_results ) const

## selectStat()

void BALL::QSAR::RegressionValidation::selectStat | ( | int | s | ) |

virtual

select the desired statistic to be used for validating the models

Parameters

  s | if (s==1) R^2 and Q^2 are used if(s==2) F_regr and F_cv are used.

Implements BALL::QSAR::Validation.

## setCoefficientStdErrors()

void BALL::QSAR::RegressionValidation::setCoefficientStdErrors | ( | const Eigen::MatrixXd * | stddev | ) |

## setCVRes()

void BALL::QSAR::RegressionValidation::setCVRes | ( | double | d | ) |

virtual

set the result of cross-validation to the given value

Implements BALL::QSAR::Validation.

## setQ2()

void BALL::QSAR::RegressionValidation::setQ2 | ( | double | d | ) |

set the Q^2 value

## testInputData()

void BALL::QSAR::RegressionValidation::testInputData | ( | bool | transform = 0 | ) |

virtual

Fetches input data from QSARData and tests the current (unchanged) model with all these new substances (without cross-validation!).

Parameters

  transform | if transform==1, the test data is transformed in the same way that the training data was transformed before predicting activities. If training and test substances are taken from the same input file, set transform to 0

Implements BALL::QSAR::Validation.

## yRandomizationTest()

const Eigen::MatrixXd & BALL::QSAR::RegressionValidation::yRandomizationTest | ( | int | runs,
|  | int | k )

virtual

Y randomization test
Randomizes all columns of model.Y, trains the model, runs crossValidation and testInputData and saves the resulting R2 and Q2 value to a matrix with 2 columns; the R2 values makeing up the first colum, the Q2 value the second.

Parameters

  runs | this is repeated as often as specified by 'runs'

Implements BALL::QSAR::Validation.