Loading...
Searching...
No Matches
regressionValidation.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
//
#ifndef BALL_QSAR_REGRESSIONVALIDATION_H
#define BALL_QSAR_REGRESSIONVALIDATION_H
#include <BALL/QSAR/common.h>
#include <BALL/QSAR/QSARData.h>
#include <BALL/QSAR/validation.h>
#include <iterator>
namespace BALL
{
namespace QSAR
{
class RegressionModel;
class BALL_EXPORT RegressionValidation : public Validation
{
public:
RegressionValidation(RegressionModel* m);
~RegressionValidation();
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
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);
private:
struct BackupData
{
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Eigen::MatrixXd descriptor_matrix;
Eigen::MatrixXd training_result;
Eigen::MatrixXd Y;
Eigen::MatrixXd K;
Eigen::MatrixXd latent_variables;
Eigen::MatrixXd loadings;
Eigen::MatrixXd weights;
};
void testAllSubstances(bool transform);
void backupTrainingResults();
void restoreTrainingResults();
double ssR_;
double ssE_;
double ssY_;
double std_err_;
double Q2_;
double F_cv_;
double F_regr_;
double R2_;
double max_error_;
double quality_;
double (RegressionValidation::* predQualFetcher_)();
double (RegressionValidation::* fitQualFetcher_)();
void calculateQOF();
Eigen::MatrixXd coefficient_stderr_;
RegressionModel* regr_model_;
BackupData backup_data_;
void (RegressionValidation::* qualCalculation)();
};
}
}
#endif // BALL_QSAR_REGRESSIONVALIDATION_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
QSARData.h
common.h
BALL::QSAR::RegressionModel
Definition regressionModel.h:21
BALL::QSAR::RegressionValidation
Definition regressionValidation.h:24
BALL::QSAR::RegressionValidation::getR2
double getR2()
BALL::QSAR::RegressionValidation::selectStat
void selectStat(int s)
BALL::QSAR::RegressionValidation::yRandomizationTest
const Eigen::MatrixXd & yRandomizationTest(int runs, int k)
BALL::QSAR::RegressionValidation::RegressionValidation
RegressionValidation(RegressionModel *m)
BALL::QSAR::RegressionValidation::crossValidation
void crossValidation(int k, bool restore=true)
BALL::QSAR::RegressionValidation::getQ2
double getQ2()
BALL::QSAR::RegressionValidation::saveToFile
void saveToFile(string filename, const double &r2, const double &q2, const Eigen::MatrixXd &coefficient_stddev, const Eigen::MatrixXd &yRand_results) const
BALL::QSAR::RegressionValidation::crossValidation
void crossValidation(int k, MatrixVector *results, bool restore=true)
BALL::QSAR::RegressionValidation::bootstrap1
void bootstrap1(int k, MatrixVector *results, bool restore=true)
BALL::QSAR::RegressionValidation::setCVRes
void setCVRes(double d)
BALL::QSAR::RegressionValidation::getFitRes
double getFitRes()
BALL::QSAR::RegressionValidation::saveToFile
void saveToFile(string filename) const
BALL::QSAR::RegressionValidation::setCoefficientStdErrors
void setCoefficientStdErrors(const Eigen::MatrixXd *stddev)
BALL::QSAR::RegressionValidation::bootstrap
void bootstrap(int k, bool restore=1)
BALL::QSAR::RegressionValidation::setQ2
void setQ2(double d)
BALL::QSAR::RegressionValidation::getMaxError
double getMaxError()
BALL::QSAR::RegressionValidation::~RegressionValidation
~RegressionValidation()
BALL::QSAR::RegressionValidation::getCoefficientStdErrors
const Eigen::MatrixXd * getCoefficientStdErrors()
BALL::QSAR::RegressionValidation::testInputData
void testInputData(bool transform=0)
BALL::QSAR::RegressionValidation::calculateCoefficientStdErrors
void calculateCoefficientStdErrors(int k, bool b=1)
BALL::QSAR::RegressionValidation::getCVRes
double getCVRes()
BALL::QSAR::RegressionValidation::readFromFile
void readFromFile(string filename)
BALL::QSAR::RegressionValidation::getFcv
double getFcv()
BALL::QSAR::RegressionValidation::bootstrap
void bootstrap(int k, MatrixVector *results, bool restore=true)
BALL::QSAR::RegressionValidation::getFregr
double getFregr()
BALL::QSAR::Validation::Validation
Validation(Model *m)
double
BALL::QSAR
Definition allModel.h:17
BALL
Definition constants.h:13
BALL::MatrixVector
std::vector< Eigen::MatrixXd, Eigen::aligned_allocator< Eigen::MatrixXd > > MatrixVector
Definition QSAR/common.h:10
validation.h